Ultimate Member – User Profile & Membership Plugin - Version 1.3.36

Version Description

Download this release

Release Info

Developer champsupertramp
Plugin Icon 128x128 Ultimate Member – User Profile & Membership Plugin
Version 1.3.36
Comparing to
See all releases

Code changes from version 1.3.35 to 1.3.36

admin/assets/css/um-admin-columns.css CHANGED
@@ -17,9 +17,6 @@
17
  .um-admin.post-type-um_role .manage-column.column-count {width: 150px}
18
  .um-admin.post-type-um_role .manage-column.column-core {width: 150px}
19
 
20
- .um-admin.users-php .tablenav.top .bulkactions,
21
- .um-admin.users-php .tablenav.bottom .bulkactions{display:none}
22
-
23
  .um-admin.post-type-um_form td.column-shortcode,
24
  .um-admin.post-type-um_form td.column-id,
25
  .um-admin.post-type-um_directory td.column-shortcode,
17
  .um-admin.post-type-um_role .manage-column.column-count {width: 150px}
18
  .um-admin.post-type-um_role .manage-column.column-core {width: 150px}
19
 
 
 
 
20
  .um-admin.post-type-um_form td.column-shortcode,
21
  .um-admin.post-type-um_form td.column-id,
22
  .um-admin.post-type-um_directory td.column-shortcode,
admin/assets/css/um-admin-misc.css CHANGED
@@ -127,8 +127,12 @@ body.um-admin-modal-open {
127
  color: #aaa !important;
128
  }
129
 
 
 
 
 
130
  .um-admin-metabox input[type=text],
131
- .um-admin-metabox textarea{
132
  width: 100%;
133
  max-width: 100%;
134
  display: block;
@@ -139,13 +143,17 @@ body.um-admin-modal-open {
139
  outline: none !important;
140
  box-sizing: border-box !important;
141
  box-shadow: none !important;
142
-
143
  font-size: 13px !important;
144
- height: auto !important;
145
  line-height: 1.4em !important;
146
  padding: 4px 10px !important;
147
  }
148
 
 
 
 
 
 
 
149
  .um-admin-metabox input[type=text].um-admin-error,
150
  .um-admin-metabox textarea.um-admin-error
151
  {border-color: #C74A4A!important}
127
  color: #aaa !important;
128
  }
129
 
130
+ .um-admin-metabox input[type=text] {
131
+ height: auto !important;
132
+ }
133
+
134
  .um-admin-metabox input[type=text],
135
+ .um-admin-metabox textarea {
136
  width: 100%;
137
  max-width: 100%;
138
  display: block;
143
  outline: none !important;
144
  box-sizing: border-box !important;
145
  box-shadow: none !important;
 
146
  font-size: 13px !important;
 
147
  line-height: 1.4em !important;
148
  padding: 4px 10px !important;
149
  }
150
 
151
+ .um-admin-metabox textarea {
152
+ padding: 8px !important;
153
+ line-height: 1.6em;
154
+ color: #888 !important;
155
+ }
156
+
157
  .um-admin-metabox input[type=text].um-admin-error,
158
  .um-admin-metabox textarea.um-admin-error
159
  {border-color: #C74A4A!important}
admin/assets/css/um-admin-select2.css CHANGED
@@ -1,18 +1,3 @@
1
- body.um-admin .actions,
2
- body.um-admin .bulkactions {
3
- float: left;
4
- margin: 0!important;
5
- padding:0!important;
6
- top: 0!important;
7
- }
8
-
9
- body.um-admin .actions .button {
10
- height: 29px !important;
11
- margin: 0 12px 0 0 !important;
12
- display: inline !important;
13
- position: relative;
14
- }
15
-
16
  body.um-admin .select2-container {margin-right: 2px!important;}
17
 
18
  body.um-admin .select2-drop,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  body.um-admin .select2-container {margin-right: 2px!important;}
2
 
3
  body.um-admin .select2-drop,
admin/assets/js/um-admin-scripts.js CHANGED
@@ -81,12 +81,6 @@ jQuery(document).ready(function() {
81
  minimumResultsForSearch: 10
82
  });
83
 
84
- jQuery("body.um-admin .actions select:not('.umaf-selectjs')").select2({
85
- allowClear: false,
86
- minimumResultsForSearch: 10,
87
- width: '160px'
88
- });
89
-
90
  /**
91
  Tooltips
92
  **/
@@ -106,6 +100,11 @@ jQuery(document).ready(function() {
106
  if (jQuery(this).val() == jQuery(this).data('cond1') ){
107
  jQuery('.' + jQuery(this).data('cond1-show') ).show();
108
  jQuery('.' + jQuery(this).data('cond1-hide') ).hide();
 
 
 
 
 
109
  } else {
110
  jQuery('.' + jQuery(this).data('cond1-show') ).hide();
111
  jQuery('.' + jQuery(this).data('cond1-hide') ).show();
@@ -116,6 +115,11 @@ jQuery(document).ready(function() {
116
  if (jQuery(this).val() == jQuery(this).data('cond2') ){
117
  jQuery('.' + jQuery(this).data('cond2-show') ).show();
118
  jQuery('.' + jQuery(this).data('cond2-hide') ).hide();
 
 
 
 
 
119
  } else {
120
  jQuery('.' + jQuery(this).data('cond2-show') ).hide();
121
  jQuery('.' + jQuery(this).data('cond2-hide') ).show();
81
  minimumResultsForSearch: 10
82
  });
83
 
 
 
 
 
 
 
84
  /**
85
  Tooltips
86
  **/
100
  if (jQuery(this).val() == jQuery(this).data('cond1') ){
101
  jQuery('.' + jQuery(this).data('cond1-show') ).show();
102
  jQuery('.' + jQuery(this).data('cond1-hide') ).hide();
103
+
104
+ if ( jQuery(this).data('cond1-show') == '_roles' ) {
105
+ return false;
106
+ }
107
+
108
  } else {
109
  jQuery('.' + jQuery(this).data('cond1-show') ).hide();
110
  jQuery('.' + jQuery(this).data('cond1-hide') ).show();
115
  if (jQuery(this).val() == jQuery(this).data('cond2') ){
116
  jQuery('.' + jQuery(this).data('cond2-show') ).show();
117
  jQuery('.' + jQuery(this).data('cond2-hide') ).hide();
118
+
119
+ if ( jQuery(this).data('cond2-show') == '_roles' ) {
120
+ return false;
121
+ }
122
+
123
  } else {
124
  jQuery('.' + jQuery(this).data('cond2-show') ).hide();
125
  jQuery('.' + jQuery(this).data('cond2-hide') ).show();
admin/core/um-admin-actions-modal.php CHANGED
@@ -167,7 +167,7 @@
167
  if ( !isset( $array['account_only'] ) && !isset( $array['private_use'] ) ) {
168
  ?>
169
 
170
- <a href="#" class="button" data-silent_action="um_admin_add_field_from_predefined" data-arg1="<?php echo $field_key; ?>" data-arg2="<?php echo $arg2; ?>"><?php echo stripslashes( $array['title'] ); ?></a>
171
 
172
  <?php } } } else { echo '<p>' . __('None','ultimatemember') . '</p>'; } ?>
173
 
@@ -182,7 +182,7 @@
182
 
183
  ?>
184
 
185
- <a href="#" class="button with-icon" data-silent_action="um_admin_add_field_from_list" data-arg1="<?php echo $field_key; ?>" data-arg2="<?php echo $arg2; ?>"><?php echo stripslashes( $array['title'] ); ?><span class="remove"></span></a>
186
 
187
  <?php } } else { echo '<p>' . __('You did not create any custom fields', 'ultimatemember') . '</p>'; } ?>
188
 
167
  if ( !isset( $array['account_only'] ) && !isset( $array['private_use'] ) ) {
168
  ?>
169
 
170
+ <a href="#" class="button" data-silent_action="um_admin_add_field_from_predefined" data-arg1="<?php echo $field_key; ?>" data-arg2="<?php echo $arg2; ?>"><?php echo um_trim_string( stripslashes( $array['title'] ), 20 ); ?></a>
171
 
172
  <?php } } } else { echo '<p>' . __('None','ultimatemember') . '</p>'; } ?>
173
 
182
 
183
  ?>
184
 
185
+ <a href="#" class="button with-icon" data-silent_action="um_admin_add_field_from_list" data-arg1="<?php echo $field_key; ?>" data-arg2="<?php echo $arg2; ?>"><?php echo um_trim_string( stripslashes( $array['title'] ), 20 ); ?><span class="remove"></span></a>
186
 
187
  <?php } } else { echo '<p>' . __('You did not create any custom fields', 'ultimatemember') . '</p>'; } ?>
188
 
admin/core/um-admin-actions-user.php CHANGED
@@ -6,9 +6,13 @@
6
  add_action('um_admin_user_action_hook', 'um_admin_user_action_hook');
7
  function um_admin_user_action_hook( $action ){
8
  global $ultimatemember;
9
-
10
  switch ( $action ) {
11
 
 
 
 
 
12
  case 'um_put_as_pending':
13
  $ultimatemember->user->pending();
14
  break;
@@ -31,6 +35,8 @@
31
  break;
32
 
33
  case 'um_delete':
 
 
34
  $ultimatemember->user->delete();
35
  break;
36
 
6
  add_action('um_admin_user_action_hook', 'um_admin_user_action_hook');
7
  function um_admin_user_action_hook( $action ){
8
  global $ultimatemember;
9
+
10
  switch ( $action ) {
11
 
12
+ default:
13
+ do_action("um_admin_custom_hook_{$action}", $ultimatemember->user->id );
14
+ break;
15
+
16
  case 'um_put_as_pending':
17
  $ultimatemember->user->pending();
18
  break;
35
  break;
36
 
37
  case 'um_delete':
38
+ if ( is_admin() )
39
+ wp_die('This action is not allowed in backend.','ultimatemember');
40
  $ultimatemember->user->delete();
41
  break;
42
 
admin/core/um-admin-actions.php CHANGED
@@ -1,5 +1,49 @@
1
  <?php
2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  /**
4
  *
5
  * Add access settings to category
@@ -186,68 +230,6 @@
186
  }
187
  }
188
  add_action('save_post', 'um_admin_delete_role_cache', 1111, 2);
189
-
190
- /***
191
- *** @delete users need confirmation
192
- ***/
193
- add_action('um_admin_do_action__delete_users', 'um_admin_do_action__delete_users');
194
- function um_admin_do_action__delete_users( $action ){
195
- global $ultimatemember;
196
- if ( !is_admin() || !current_user_can( 'edit_users' ) ) die();
197
-
198
- $redirect = admin_url('users.php');
199
-
200
- $users = array_map( 'intval', (array) $_REQUEST['user'] );
201
- if ( !$users ) exit( wp_redirect( $redirect ) );
202
-
203
- if ( isset( $_REQUEST['confirm'] ) && $_REQUEST['confirm'] == 1 ) { // delete
204
-
205
- $bulk_action = 'um_delete';
206
-
207
- foreach($users as $user_id){
208
- $ultimatemember->user->set( $user_id );
209
- if ( !um_user('super_admin') ) {
210
-
211
- do_action("um_admin_user_action_hook", $bulk_action);
212
-
213
- do_action("um_admin_user_action_{$bulk_action}_hook");
214
-
215
- } else {
216
- $admin_err = 1;
217
- }
218
- }
219
-
220
- // Finished. redirect now
221
- if ( $admin_err == 0 ){
222
- wp_redirect( admin_url('users.php?update=users_updated') );
223
- exit;
224
- } else {
225
- wp_redirect( admin_url('users.php?update=err_users_updated') );
226
- exit;
227
- }
228
-
229
- } else {
230
-
231
- $redirect = add_query_arg('update','confirm_delete',$redirect);
232
-
233
- foreach( $users as $id ) {
234
- $query .= '&user[]='.$id;
235
- }
236
-
237
- $uri = $ultimatemember->permalinks->get_current_url( true );
238
- $uri = add_query_arg('um_adm_action', 'delete_users', $uri);
239
- foreach( $users as $user_id ) {
240
- $uri = add_query_arg('user[]', $user_id, $uri);
241
- $redirect = add_query_arg('user[]', $user_id, $redirect);
242
- }
243
- $uri = add_query_arg('_refer', $_POST['_wp_http_referer'], $redirect);
244
- $redirect = add_query_arg('confirm', 1, $uri);
245
-
246
- exit( wp_redirect($redirect) );
247
-
248
- }
249
-
250
- }
251
 
252
  /***
253
  *** @clear user cache
@@ -433,7 +415,7 @@
433
  um_fetch_user( $_REQUEST['user_id'] );
434
 
435
  $subaction = $_REQUEST['sub'];
436
-
437
  do_action("um_admin_user_action_hook", $subaction);
438
  do_action("um_admin_user_action_{$subaction}_hook");
439
 
1
  <?php
2
 
3
+ /***
4
+ *** @Add community role to user creatino page
5
+ ***/
6
+ add_action('admin_footer_text', 'um_add_custom_user_profile_fields');
7
+ function um_add_custom_user_profile_fields() {
8
+ global $ultimatemember, $pagenow;
9
+
10
+ if( $pagenow !== 'user-new.php' )
11
+ return;
12
+
13
+ if( !current_user_can('manage_options') )
14
+ return false;
15
+
16
+ ?>
17
+ <table id="table_my_custom_field" style="display:none;">
18
+ <tr>
19
+ <th><label for="um_role"><?php _e( 'Community Role', 'ultimatemember' ); ?></label></th>
20
+ <td>
21
+ <select name="um_role" id="um_role">
22
+ <?php foreach( $ultimatemember->query->get_roles() as $key => $value ) { ?>
23
+ <option value="<?php echo $key; ?>" <?php selected( um_get_option('default_role'), $key ); ?> ><?php echo $value; ?></option>
24
+ <?php } ?>
25
+ </select>
26
+ </td>
27
+ </tr>
28
+ </table>
29
+ <script>
30
+ jQuery(function($){
31
+ $('#table_my_custom_field tr').insertAfter($('#role').parentsUntil('tr').parent());
32
+ });
33
+ </script>
34
+ <?php
35
+ }
36
+
37
+ /***
38
+ *** @Save the community role in user creation in backend
39
+ ***/
40
+ add_action('user_register', 'um_save_custom_user_profile_fields');
41
+ function um_save_custom_user_profile_fields( $user_id ) {
42
+ if( !current_user_can('manage_options') || !is_admin() || !isset( $_POST['um_role'] ) )
43
+ return false;
44
+ update_user_meta($user_id, 'role', sanitize_title_with_dashes( $_POST['um_role'] ) );
45
+ }
46
+
47
  /**
48
  *
49
  * Add access settings to category
230
  }
231
  }
232
  add_action('save_post', 'um_admin_delete_role_cache', 1111, 2);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
233
 
234
  /***
235
  *** @clear user cache
415
  um_fetch_user( $_REQUEST['user_id'] );
416
 
417
  $subaction = $_REQUEST['sub'];
418
+
419
  do_action("um_admin_user_action_hook", $subaction);
420
  do_action("um_admin_user_action_{$subaction}_hook");
421
 
admin/core/um-admin-metabox.php CHANGED
@@ -327,7 +327,11 @@ class UM_Admin_Metabox {
327
  delete_post_meta( $post_id, '_um_reveal_fields' );
328
  delete_post_meta( $post_id, '_um_search_fields' );
329
  delete_post_meta( $post_id, '_um_roles_can_search' );
 
330
  foreach( $_POST as $k => $v ) {
 
 
 
331
  if (strstr($k, '_um_')){
332
  update_post_meta( $post_id, $k, $v);
333
  }
@@ -1243,6 +1247,26 @@ class UM_Admin_Metabox {
1243
  <?php
1244
  break;
1245
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1246
  case '_min_chars':
1247
  ?>
1248
 
327
  delete_post_meta( $post_id, '_um_reveal_fields' );
328
  delete_post_meta( $post_id, '_um_search_fields' );
329
  delete_post_meta( $post_id, '_um_roles_can_search' );
330
+ delete_post_meta( $post_id, '_um_show_these_users' );
331
  foreach( $_POST as $k => $v ) {
332
+ if ( $k == '_um_show_these_users' && trim( $_POST[ $k ] ) ) {
333
+ $v = preg_split('/[\r\n]+/', $v, -1, PREG_SPLIT_NO_EMPTY);
334
+ }
335
  if (strstr($k, '_um_')){
336
  update_post_meta( $post_id, $k, $v);
337
  }
1247
  <?php
1248
  break;
1249
 
1250
+ case '_min':
1251
+ ?>
1252
+
1253
+ <p><label for="_min">Minimum Number <?php $this->tooltip( __('Minimum number that can be entered in this field','ultimatemember') ); ?></label>
1254
+ <input type="text" name="_min" id="_min" value="<?php echo $this->edit_mode_value; ?>" />
1255
+ </p>
1256
+
1257
+ <?php
1258
+ break;
1259
+
1260
+ case '_max':
1261
+ ?>
1262
+
1263
+ <p><label for="_max">Maximum Number <?php $this->tooltip( __('Maximum number that can be entered in this field','ultimatemember') ); ?></label>
1264
+ <input type="text" name="_max" id="_max" value="<?php echo $this->edit_mode_value; ?>" />
1265
+ </p>
1266
+
1267
+ <?php
1268
+ break;
1269
+
1270
  case '_min_chars':
1271
  ?>
1272
 
admin/core/um-admin-users.php CHANGED
@@ -7,21 +7,21 @@ class UM_Admin_Users {
7
  $this->custom_role = 'um_role';
8
 
9
  add_filter('manage_users_columns', array(&$this, 'manage_users_columns') );
10
-
11
  add_action('manage_users_custom_column', array(&$this, 'manage_users_custom_column'), 10, 3);
12
-
13
  add_action('restrict_manage_users', array(&$this, 'restrict_manage_users') );
14
-
15
  add_action('admin_init', array(&$this, 'um_bulk_users_edit'), 9);
16
-
17
  add_filter('views_users', array(&$this, 'views_users') );
18
-
19
  add_filter('pre_user_query', array(&$this, 'sort_by_newest') );
20
-
21
  add_filter('pre_user_query', array(&$this, 'custom_users_filter') );
22
-
23
  add_filter('user_row_actions', array(&$this, 'user_row_actions'), 10, 2);
24
-
25
  }
26
 
27
  /***
@@ -32,17 +32,14 @@ class UM_Admin_Users {
32
  $user_id = $user_object->ID;
33
  um_fetch_user( $user_id );
34
 
35
- unset( $actions['edit'] );
36
- unset( $actions['delete'] );
37
 
38
- $actions['frontend_profile'] = "<a class='' href='" . um_user_profile_url() . "'>" . __( 'Profile','ultimatemember') . "</a>";
39
-
40
  if ( um_user('submitted') ) {
41
  $actions['view_info'] = '<a href="#" data-modal="UM_preview_registration" data-modal-size="smaller" data-dynamic-content="um_admin_review_registration" data-arg1="'.$user_id.'" data-arg2="edit_registration">' . __('Info','ultimatemember') . '</a>';
42
  }
43
-
44
  $actions = apply_filters('um_admin_user_row_actions', $actions, $user_id );
45
-
46
  return $actions;
47
  }
48
 
@@ -208,22 +205,7 @@ class UM_Admin_Users {
208
 
209
  $users = $_REQUEST['users'];
210
  $bulk_action = current( array_filter( $_REQUEST['um_bulk_action']) );
211
-
212
- if ( 'um_delete' == $bulk_action ) { // this needs confirmation
213
-
214
- $uri = admin_url('users.php');
215
- $userids = array_map( 'intval', (array) $_REQUEST['users'] );
216
-
217
- if ( is_array( $userids ) ) {
218
- $uri = add_query_arg('um_adm_action', 'delete_users', $uri);
219
- foreach( $userids as $user_id ) {
220
- $uri = add_query_arg('user[]', $user_id, $uri);
221
- }
222
- exit( wp_redirect( $uri ) );
223
- }
224
 
225
- }
226
-
227
  foreach($users as $user_id){
228
  $ultimatemember->user->set( $user_id );
229
  if ( !um_user('super_admin') ) {
@@ -273,10 +255,10 @@ class UM_Admin_Users {
273
  global $ultimatemember;
274
  ?>
275
 
276
- <div class="actions">
277
 
278
  <label class="screen-reader-text" for="um_filter_role"><?php _e('Filter by','ultimatemember'); ?></label>
279
- <select name="um_filter_role[]" id="um_filter_role" class="umaf-selectjs" style="width: 120px">
280
  <option value="0"><?php _e('Filter by','ultimatemember'); ?></option>
281
  <?php
282
  $roles = $ultimatemember->query->get_roles();
@@ -290,11 +272,11 @@ class UM_Admin_Users {
290
 
291
  </div>
292
 
293
- <div class="actions">
294
 
295
- <label class="screen-reader-text" for="um_bulk_action"><?php _e('Take Action','ultimatemember'); ?></label>
296
- <select name="um_bulk_action[]" id="um_bulk_action" class="umaf-selectjs" style="width: 200px">
297
- <option value="0"><?php _e('Take Action','ultimatemember'); ?></option>
298
  <?php echo $ultimatemember->user->get_bulk_admin_actions(); ?>
299
  </select>
300
 
@@ -302,10 +284,10 @@ class UM_Admin_Users {
302
 
303
  </div>
304
 
305
- <div class="actions">
306
 
307
  <label class="screen-reader-text" for="um_change_role"><?php _e('Community role&hellip;','ultimatemember'); ?></label>
308
- <select name="um_change_role[]" id="um_change_role" class="umaf-selectjs" style="width: 160px">
309
  <?php foreach($ultimatemember->query->get_roles( $add_default = 'Community role&hellip;' ) as $key => $value) { ?>
310
  <option value="<?php echo $key; ?>"><?php echo $value; ?></option>
311
  <?php } ?>
7
  $this->custom_role = 'um_role';
8
 
9
  add_filter('manage_users_columns', array(&$this, 'manage_users_columns') );
10
+
11
  add_action('manage_users_custom_column', array(&$this, 'manage_users_custom_column'), 10, 3);
12
+
13
  add_action('restrict_manage_users', array(&$this, 'restrict_manage_users') );
14
+
15
  add_action('admin_init', array(&$this, 'um_bulk_users_edit'), 9);
16
+
17
  add_filter('views_users', array(&$this, 'views_users') );
18
+
19
  add_filter('pre_user_query', array(&$this, 'sort_by_newest') );
20
+
21
  add_filter('pre_user_query', array(&$this, 'custom_users_filter') );
22
+
23
  add_filter('user_row_actions', array(&$this, 'user_row_actions'), 10, 2);
24
+
25
  }
26
 
27
  /***
32
  $user_id = $user_object->ID;
33
  um_fetch_user( $user_id );
34
 
35
+ $actions['frontend_profile'] = "<a class='' href='" . um_user_profile_url() . "'>" . __( 'View profile','ultimatemember') . "</a>";
 
36
 
 
 
37
  if ( um_user('submitted') ) {
38
  $actions['view_info'] = '<a href="#" data-modal="UM_preview_registration" data-modal-size="smaller" data-dynamic-content="um_admin_review_registration" data-arg1="'.$user_id.'" data-arg2="edit_registration">' . __('Info','ultimatemember') . '</a>';
39
  }
40
+
41
  $actions = apply_filters('um_admin_user_row_actions', $actions, $user_id );
42
+
43
  return $actions;
44
  }
45
 
205
 
206
  $users = $_REQUEST['users'];
207
  $bulk_action = current( array_filter( $_REQUEST['um_bulk_action']) );
 
 
 
 
 
 
 
 
 
 
 
 
 
208
 
 
 
209
  foreach($users as $user_id){
210
  $ultimatemember->user->set( $user_id );
211
  if ( !um_user('super_admin') ) {
255
  global $ultimatemember;
256
  ?>
257
 
258
+ <div style="float:right;margin:0 4px">
259
 
260
  <label class="screen-reader-text" for="um_filter_role"><?php _e('Filter by','ultimatemember'); ?></label>
261
+ <select name="um_filter_role[]" id="um_filter_role" class="" style="width: 120px">
262
  <option value="0"><?php _e('Filter by','ultimatemember'); ?></option>
263
  <?php
264
  $roles = $ultimatemember->query->get_roles();
272
 
273
  </div>
274
 
275
+ <div style="float:right;margin:0 4px">
276
 
277
+ <label class="screen-reader-text" for="um_bulk_action"><?php _e('UM Action','ultimatemember'); ?></label>
278
+ <select name="um_bulk_action[]" id="um_bulk_action" class="" style="width: 200px">
279
+ <option value="0"><?php _e('UM Action','ultimatemember'); ?></option>
280
  <?php echo $ultimatemember->user->get_bulk_admin_actions(); ?>
281
  </select>
282
 
284
 
285
  </div>
286
 
287
+ <div style="float:right;margin:0 4px">
288
 
289
  <label class="screen-reader-text" for="um_change_role"><?php _e('Community role&hellip;','ultimatemember'); ?></label>
290
+ <select name="um_change_role[]" id="um_change_role" class="" style="width: 160px">
291
  <?php foreach($ultimatemember->query->get_roles( $add_default = 'Community role&hellip;' ) as $key => $value) { ?>
292
  <option value="<?php echo $key; ?>"><?php echo $value; ?></option>
293
  <?php } ?>
admin/templates/directory/general.php CHANGED
@@ -7,6 +7,11 @@
7
  }
8
  }
9
 
 
 
 
 
 
10
  ?>
11
 
12
  <div class="um-admin-metabox">
@@ -73,6 +78,15 @@
73
  </span>
74
  </p><div class="um-admin-clear"></div>
75
 
 
 
 
 
 
 
 
 
 
76
  <?php do_action('um_admin_extend_directory_options_general', $this); ?>
77
 
78
  </div>
7
  }
8
  }
9
 
10
+ $show_these_users = get_post_meta( get_the_ID(), '_um_show_these_users', true );
11
+ if ( $show_these_users ) {
12
+ $show_these_users = implode("\n", str_replace("\r", "", $show_these_users));
13
+ }
14
+
15
  ?>
16
 
17
  <div class="um-admin-metabox">
78
  </span>
79
  </p><div class="um-admin-clear"></div>
80
 
81
+ <p>
82
+ <label class="um-admin-half"><?php _e('Only show specific users (Enter one username per line)','ultimatemember'); ?></label>
83
+ <span class="um-admin-half">
84
+
85
+ <textarea name="_um_show_these_users" id="_um_show_these_users"><?php echo $show_these_users; ?></textarea>
86
+
87
+ </span>
88
+ </p><div class="um-admin-clear"></div>
89
+
90
  <?php do_action('um_admin_extend_directory_options_general', $this); ?>
91
 
92
  </div>
admin/templates/extensions.php CHANGED
@@ -1,5 +1,12 @@
1
  <?php
2
 
 
 
 
 
 
 
 
3
  $premium['verified-users'] = array(
4
  'url' => 'https://ultimatemember.com/extensions/verified-users/',
5
  'image' => 'https://ultimatemember.com/wp-content/uploads/2015/09/image.png',
1
  <?php
2
 
3
+ $premium['user-tags'] = array(
4
+ 'url' => 'https://ultimatemember.com/extensions/user-tags/',
5
+ 'image' => 'https://ultimatemember.com/wp-content/uploads/2015/12/user-tags-copy.jpg',
6
+ 'name' => 'User Tags',
7
+ 'desc' => 'Add a user tag system to your site and allow users to associate tags with their profile and enable users to find other users easily with the same tag.',
8
+ );
9
+
10
  $premium['verified-users'] = array(
11
  'url' => 'https://ultimatemember.com/extensions/verified-users/',
12
  'image' => 'https://ultimatemember.com/wp-content/uploads/2015/09/image.png',
assets/css/um-misc.css CHANGED
@@ -88,4 +88,21 @@
88
  animation-timing-function: linear;
89
  -webkit-animation-iteration-count: 1;
90
  animation-iteration-count: 1;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
91
  }
88
  animation-timing-function: linear;
89
  -webkit-animation-iteration-count: 1;
90
  animation-iteration-count: 1;
91
+ }
92
+
93
+ /* content lockers */
94
+ .um-locked-content {
95
+ width: 100%;
96
+ box-sizing: border-box;
97
+ border: 2px dotted #cc3000;
98
+ color: #333;
99
+ background: #fff;
100
+ font-size: 14px;
101
+ padding: 20px;
102
+ border-radius: 4px;
103
+ margin-bottom: 20px;
104
+ }
105
+
106
+ .um-locked-content a {
107
+ border: none !important;
108
  }
assets/css/um-profile.css CHANGED
@@ -287,6 +287,8 @@ font-weight: normal;
287
  .um-meta-text {
288
  margin: 6px 0 0 0;
289
  color: #666;
 
 
290
  }
291
 
292
  .um-meta-text p {
287
  .um-meta-text {
288
  margin: 6px 0 0 0;
289
  color: #666;
290
+ line-height: 1.4em;
291
+ font-size: 13px;
292
  }
293
 
294
  .um-meta-text p {
assets/css/um-styles.css CHANGED
@@ -381,6 +381,7 @@ p.um-notice.warning {
381
  }
382
 
383
  .um-form input[type=text],
 
384
  .um-form input[type=password] {
385
  padding: 0 12px !important;
386
  width: 100%;
@@ -399,7 +400,14 @@ p.um-notice.warning {
399
  outline: none !important;
400
  }
401
 
 
 
 
 
 
 
402
  .um-form input[type=text]:focus,
 
403
  .um-form input[type=password]:focus,
404
  .um-form textarea:focus {
405
  box-shadow: none !important;
@@ -428,6 +436,16 @@ p.um-notice.warning {
428
  outline: none !important;
429
  }
430
 
 
 
 
 
 
 
 
 
 
 
431
  /*
432
  - Radio & Checkboxes
433
  */
@@ -550,7 +568,8 @@ p.um-notice.warning {
550
  .um div.disabled,
551
  .um-disabled,
552
  .um input[type=submit]:disabled,
553
- .um input[type=text]:disabled {
 
554
  opacity: 0.6 !important;
555
  cursor: no-drop !important;
556
  }
381
  }
382
 
383
  .um-form input[type=text],
384
+ .um-form input[type=number],
385
  .um-form input[type=password] {
386
  padding: 0 12px !important;
387
  width: 100%;
400
  outline: none !important;
401
  }
402
 
403
+ .um-form input[type=number] {
404
+ width: auto;
405
+ padding: 0 0 0 5px !important;
406
+ height: 30px !important;
407
+ }
408
+
409
  .um-form input[type=text]:focus,
410
+ .um-form input[type=number]:focus,
411
  .um-form input[type=password]:focus,
412
  .um-form textarea:focus {
413
  box-shadow: none !important;
436
  outline: none !important;
437
  }
438
 
439
+ .um-form .wp-editor-container {
440
+ border: 1px solid #ddd;
441
+ }
442
+
443
+ .um-form .wp-editor-container textarea {
444
+ background: #ddd !important;
445
+ color: #222 !important;
446
+ border-radius: 0;
447
+ }
448
+
449
  /*
450
  - Radio & Checkboxes
451
  */
568
  .um div.disabled,
569
  .um-disabled,
570
  .um input[type=submit]:disabled,
571
+ .um input[type=text]:disabled,
572
+ .um input[type=number]:disabled {
573
  opacity: 0.6 !important;
574
  cursor: no-drop !important;
575
  }
assets/css/um.min.css CHANGED
@@ -1,2 +1,2 @@
1
- @-webkit-keyframes um-effect-pop{50%{-webkit-transform:scale(1.2);transform:scale(1.2)}}@keyframes um-effect-pop{50%{-webkit-transform:scale(1.2);transform:scale(1.2)}}.um-effect-pop{-webkit-animation-name:um-effect-pop;animation-name:um-effect-pop;-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-iteration-count:1;animation-iteration-count:1}.um-youtube,.um-vimeo,.um-googlemap{position:relative;height:0;overflow:hidden}.um-youtube{padding-bottom:56.25%}.um-vimeo{padding-bottom:56.25%}.um-googlemap{padding-bottom:75%}.um-youtube iframe,.um-vimeo iframe,.um-googlemap iframe{position:absolute;top:0;left:0;width:100%!important;height:100%!important}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg)}100%{-ms-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}.mCustomScrollbar{-ms-touch-action:none;touch-action:none}.mCustomScrollbar.mCS_no_scrollbar{-ms-touch-action:auto;touch-action:auto}.mCustomScrollBox{position:relative;overflow:hidden;height:100%;max-width:100%;outline:none;direction:ltr}.mCSB_container{overflow:hidden;width:auto;height:auto}.mCSB_inside>.mCSB_container{margin-right:0}.mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden{margin-right:0}.mCS-dir-rtl>.mCSB_inside>.mCSB_container{margin-right:0;margin-left:0}.mCS-dir-rtl>.mCSB_inside>.mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden{margin-left:0}.mCSB_scrollTools{position:absolute;width:16px;height:auto;left:auto;top:0;right:0;bottom:0}.mCSB_outside+.mCSB_scrollTools{right:-26px}.mCS-dir-rtl>.mCSB_inside>.mCSB_scrollTools,.mCS-dir-rtl>.mCSB_outside+.mCSB_scrollTools{right:auto;left:0}.mCS-dir-rtl>.mCSB_outside+.mCSB_scrollTools{left:-26px}.mCSB_scrollTools .mCSB_draggerContainer{position:absolute;top:0;left:0;bottom:0;right:0;height:auto}.mCSB_scrollTools a+.mCSB_draggerContainer{margin:20px 0}.mCSB_scrollTools .mCSB_draggerRail{width:2px;height:100%;margin:0 auto;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px}.mCSB_scrollTools .mCSB_dragger{cursor:pointer;width:100%;height:30px;z-index:1}.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{position:relative;width:4px;height:100%;margin:0 auto;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px;text-align:center}.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{width:12px}.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{width:8px}.mCSB_scrollTools .mCSB_buttonUp,.mCSB_scrollTools .mCSB_buttonDown{display:block;position:absolute;height:20px;width:100%;overflow:hidden;margin:0 auto;cursor:pointer}.mCSB_scrollTools .mCSB_buttonDown{bottom:0}.mCSB_horizontal.mCSB_inside>.mCSB_container{margin-right:0;margin-bottom:30px}.mCSB_horizontal.mCSB_outside>.mCSB_container{min-height:100%}.mCSB_horizontal>.mCSB_container.mCS_no_scrollbar_x.mCS_x_hidden{margin-bottom:0}.mCSB_scrollTools.mCSB_scrollTools_horizontal{width:auto;height:16px;top:auto;right:0;bottom:0;left:0}.mCustomScrollBox+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox+.mCSB_scrollTools+.mCSB_scrollTools.mCSB_scrollTools_horizontal{bottom:-26px}.mCSB_scrollTools.mCSB_scrollTools_horizontal a+.mCSB_draggerContainer{margin:0 20px}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:2px;margin:7px 0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger{width:30px;height:100%;left:0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:4px;margin:6px auto}.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{height:12px;margin:2px auto}.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{height:8px;margin:4px 0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft,.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight{display:block;position:absolute;width:20px;height:100%;overflow:hidden;margin:0 auto;cursor:pointer}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft{left:0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight{right:0}.mCSB_container_wrapper{position:absolute;height:auto;width:auto;overflow:hidden;top:0;left:0;right:0;bottom:0;margin-right:30px;margin-bottom:30px}.mCSB_container_wrapper>.mCSB_container{padding-right:30px;padding-bottom:30px}.mCSB_vertical_horizontal>.mCSB_scrollTools.mCSB_scrollTools_vertical{bottom:20px}.mCSB_vertical_horizontal>.mCSB_scrollTools.mCSB_scrollTools_horizontal{right:20px}.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden+.mCSB_scrollTools.mCSB_scrollTools_vertical{bottom:0}.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden+.mCSB_scrollTools ~ .mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCS-dir-rtl>.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_scrollTools.mCSB_scrollTools_horizontal{right:0}.mCS-dir-rtl>.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_scrollTools.mCSB_scrollTools_horizontal{left:20px}.mCS-dir-rtl>.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden+.mCSB_scrollTools ~ .mCSB_scrollTools.mCSB_scrollTools_horizontal{left:0}.mCS-dir-rtl>.mCSB_inside>.mCSB_container_wrapper{margin-right:0;margin-left:30px}.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden>.mCSB_container{padding-right:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden>.mCSB_container{padding-bottom:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden{margin-right:0;margin-left:0}.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden{margin-bottom:0}.mCSB_scrollTools,.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCSB_scrollTools .mCSB_buttonUp,.mCSB_scrollTools .mCSB_buttonDown,.mCSB_scrollTools .mCSB_buttonLeft,.mCSB_scrollTools .mCSB_buttonRight{-webkit-transition:opacity .2s ease-in-out,background-color .2s ease-in-out;-moz-transition:opacity .2s ease-in-out,background-color .2s ease-in-out;-o-transition:opacity .2s ease-in-out,background-color .2s ease-in-out;transition:opacity .2s ease-in-out,background-color .2s ease-in-out}.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar,.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail{-webkit-transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out;-moz-transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out;-o-transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out;transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out}.mCSB_scrollTools{opacity:.75;filter:"alpha(opacity=75)";-ms-filter:"alpha(opacity=75)"}.mCS-autoHide>.mCustomScrollBox>.mCSB_scrollTools,.mCS-autoHide>.mCustomScrollBox ~ .mCSB_scrollTools{opacity:0;filter:"alpha(opacity=0)";-ms-filter:"alpha(opacity=0)"}.mCustomScrollbar>.mCustomScrollBox>.mCSB_scrollTools.mCSB_scrollTools_onDrag,.mCustomScrollbar>.mCustomScrollBox ~ .mCSB_scrollTools.mCSB_scrollTools_onDrag,.mCustomScrollBox:hover>.mCSB_scrollTools,.mCustomScrollBox:hover ~ .mCSB_scrollTools,.mCS-autoHide:hover>.mCustomScrollBox>.mCSB_scrollTools,.mCS-autoHide:hover>.mCustomScrollBox ~ .mCSB_scrollTools{opacity:1;filter:"alpha(opacity=100)";-ms-filter:"alpha(opacity=100)"}.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.4);filter:"alpha(opacity=40)";-ms-filter:"alpha(opacity=40)"}.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.75);filter:"alpha(opacity=75)";-ms-filter:"alpha(opacity=75)"}.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.85);filter:"alpha(opacity=85)";-ms-filter:"alpha(opacity=85)"}.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.9);filter:"alpha(opacity=90)";-ms-filter:"alpha(opacity=90)"}.mCSB_scrollTools .mCSB_buttonUp,.mCSB_scrollTools .mCSB_buttonDown,.mCSB_scrollTools .mCSB_buttonLeft,.mCSB_scrollTools .mCSB_buttonRight{background-image:url(mCSB_buttons.png);background-repeat:no-repeat;opacity:.4;filter:"alpha(opacity=40)";-ms-filter:"alpha(opacity=40)"}.mCSB_scrollTools .mCSB_buttonUp:hover,.mCSB_scrollTools .mCSB_buttonDown:hover,.mCSB_scrollTools .mCSB_buttonLeft:hover,.mCSB_scrollTools .mCSB_buttonRight:hover{opacity:.75;filter:"alpha(opacity=75)";-ms-filter:"alpha(opacity=75)"}.mCSB_scrollTools .mCSB_buttonUp:active,.mCSB_scrollTools .mCSB_buttonDown:active,.mCSB_scrollTools .mCSB_buttonLeft:active,.mCSB_scrollTools .mCSB_buttonRight:active{opacity:.9;filter:"alpha(opacity=90)";-ms-filter:"alpha(opacity=90)"}.mCS-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.15)}.mCS-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75)}.mCS-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:rgba(0,0,0,0.85)}.mCS-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:rgba(0,0,0,0.9)}.mCS-light-2.mCSB_scrollTools .mCSB_draggerRail,.mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail{width:4px;background-color:#fff;background-color:rgba(255,255,255,0.1);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-light-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:4px;background-color:#fff;background-color:rgba(255,255,255,0.75);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-light-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-light-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:4px;margin:6px auto}.mCS-light-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.85)}.mCS-light-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-light-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.9)}.mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.1);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-dark-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-dark-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-dark-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-light-thick.mCSB_scrollTools .mCSB_draggerRail,.mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail{width:4px;background-color:#fff;background-color:rgba(255,255,255,0.1);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-light-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:6px;background-color:#fff;background-color:rgba(255,255,255,0.75);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:4px;margin:6px 0}.mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:6px;margin:5px auto}.mCS-light-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.85)}.mCS-light-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-light-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.9)}.mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.1);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-light-thin.mCSB_scrollTools .mCSB_draggerRail{background-color:#fff;background-color:rgba(255,255,255,0.1)}.mCS-light-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:2px}.mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%}.mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:2px;margin:7px auto}.mCS-dark-thin.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.15)}.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75)}.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-rounded.mCSB_scrollTools .mCSB_draggerRail{background-color:#fff;background-color:rgba(255,255,255,0.15)}.mCS-rounded.mCSB_scrollTools .mCSB_dragger,.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger,.mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger{height:14px}.mCS-rounded.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:14px;margin:0 1px}.mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger{width:14px}.mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{height:14px;margin:1px 0}.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{width:16px;height:16px;margin:-1px 0}.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{width:4px}.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{height:16px;width:16px;margin:0 -1px}.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{height:4px;margin:6px 0}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.15)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-rounded-dots.mCSB_scrollTools_vertical .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools_vertical .mCSB_draggerRail{width:4px}.mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{background-color:transparent;background-position:center}.mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAANElEQVQYV2NkIAAYiVbw//9/Y6DiM1ANJoyMjGdBbLgJQAX/kU0DKgDLkaQAvxW4HEvQFwCRcxIJK1XznAAAAABJRU5ErkJggg==");background-repeat:repeat-y;opacity:.3;filter:"alpha(opacity=30)";-ms-filter:"alpha(opacity=30)"}.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{height:4px;margin:6px 0;background-repeat:repeat-x}.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYV2NkIAAYSVFgDFR8BqrBBEifBbGRTfiPZhpYjiQFBK3A6l6CvgAAE9kGCd1mvgEAAAAASUVORK5CYII=")}.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-repeat:repeat-y;background-image:-moz-linear-gradient(left,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-webkit-gradient(linear,left top,right top,color-stop(0%,rgba(255,255,255,0.5)),color-stop(100%,rgba(255,255,255,0)));background-image:-webkit-linear-gradient(left,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-o-linear-gradient(left,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-ms-linear-gradient(left,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:linear-gradient(to right,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%)}.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{background-repeat:repeat-x;background-image:-moz-linear-gradient(top,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0%,rgba(255,255,255,0.5)),color-stop(100%,rgba(255,255,255,0)));background-image:-webkit-linear-gradient(top,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-o-linear-gradient(top,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-ms-linear-gradient(top,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:linear-gradient(to bottom,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%)}.mCS-3d.mCSB_scrollTools_vertical .mCSB_dragger,.mCS-3d-dark.mCSB_scrollTools_vertical .mCSB_dragger{height:70px}.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger{width:70px}.mCS-3d.mCSB_scrollTools,.mCS-3d-dark.mCSB_scrollTools{opacity:1;filter:"alpha(opacity=30)";-ms-filter:"alpha(opacity=30)"}.mCS-3d.mCSB_scrollTools .mCSB_draggerRail,.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px}.mCS-3d.mCSB_scrollTools .mCSB_draggerRail,.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail{width:8px;background-color:#000;background-color:rgba(0,0,0,0.2);box-shadow:inset 1px 0 1px rgba(0,0,0,0.5),inset -1px 0 1px rgba(255,255,255,0.2)}.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#555}.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:8px}.mCS-3d.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:8px;margin:4px 0;box-shadow:inset 0 1px 1px rgba(0,0,0,0.5),inset 0 -1px 1px rgba(255,255,255,0.2)}.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:8px;margin:4px auto}.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.1);box-shadow:inset 1px 0 1px rgba(0,0,0,0.1)}.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{box-shadow:inset 0 1px 1px rgba(0,0,0,0.1)}.mCS-3d-thick.mCSB_scrollTools,.mCS-3d-thick-dark.mCSB_scrollTools{opacity:1;filter:"alpha(opacity=30)";-ms-filter:"alpha(opacity=30)"}.mCS-3d-thick.mCSB_scrollTools,.mCS-3d-thick-dark.mCSB_scrollTools,.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer{-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.mCSB_inside+.mCS-3d-thick.mCSB_scrollTools_vertical,.mCSB_inside+.mCS-3d-thick-dark.mCSB_scrollTools_vertical{right:1px}.mCS-3d-thick.mCSB_scrollTools_vertical,.mCS-3d-thick-dark.mCSB_scrollTools_vertical{box-shadow:inset 1px 0 1px rgba(0,0,0,0.1),inset 0 0 14px rgba(0,0,0,0.5)}.mCS-3d-thick.mCSB_scrollTools_horizontal,.mCS-3d-thick-dark.mCSB_scrollTools_horizontal{bottom:1px;box-shadow:inset 0 1px 1px rgba(0,0,0,0.1),inset 0 0 14px rgba(0,0,0,0.5)}.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 1px 0 0 rgba(255,255,255,0.4);width:12px;margin:2px;position:absolute;height:auto;top:0;bottom:0;left:0;right:0}.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 0 1px 0 rgba(255,255,255,0.4)}.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#555}.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{height:12px;width:auto}.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer{background-color:#000;background-color:rgba(0,0,0,0.05);box-shadow:inset 1px 1px 16px rgba(0,0,0,0.1)}.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent}.mCS-3d-thick-dark.mCSB_scrollTools{box-shadow:inset 0 0 14px rgba(0,0,0,0.2)}.mCS-3d-thick-dark.mCSB_scrollTools_horizontal{box-shadow:inset 0 1px 1px rgba(0,0,0,0.1),inset 0 0 14px rgba(0,0,0,0.2)}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 1px 0 0 rgba(255,255,255,0.4),inset -1px 0 0 rgba(0,0,0,0.2)}.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 0 1px 0 rgba(255,255,255,0.4),inset 0 -1px 0 rgba(0,0,0,0.2)}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#777}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer{background-color:#fff;background-color:rgba(0,0,0,0.05);box-shadow:inset 1px 1px 16px rgba(0,0,0,0.1)}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent}.mCSB_outside+.mCS-minimal.mCSB_scrollTools_vertical,.mCSB_outside+.mCS-minimal-dark.mCSB_scrollTools_vertical{right:0;margin:12px 0}.mCustomScrollBox.mCS-minimal+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox.mCS-minimal+.mCSB_scrollTools+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox.mCS-minimal-dark+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox.mCS-minimal-dark+.mCSB_scrollTools+.mCSB_scrollTools.mCSB_scrollTools_horizontal{bottom:0;margin:0 12px}.mCS-dir-rtl>.mCSB_outside+.mCS-minimal.mCSB_scrollTools_vertical,.mCS-dir-rtl>.mCSB_outside+.mCS-minimal-dark.mCSB_scrollTools_vertical{left:0;right:auto}.mCS-minimal.mCSB_scrollTools .mCSB_draggerRail,.mCS-minimal-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent}.mCS-minimal.mCSB_scrollTools_vertical .mCSB_dragger,.mCS-minimal-dark.mCSB_scrollTools_vertical .mCSB_dragger{height:50px}.mCS-minimal.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-minimal-dark.mCSB_scrollTools_horizontal .mCSB_dragger{width:50px}.mCS-minimal.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.2);filter:"alpha(opacity=20)";-ms-filter:"alpha(opacity=20)"}.mCS-minimal.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-minimal.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.5);filter:"alpha(opacity=50)";-ms-filter:"alpha(opacity=50)"}.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.2);filter:"alpha(opacity=20)";-ms-filter:"alpha(opacity=20)"}.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.5);filter:"alpha(opacity=50)";-ms-filter:"alpha(opacity=50)"}.mCS-light-3.mCSB_scrollTools .mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail{width:6px;background-color:#000;background-color:rgba(0,0,0,0.2)}.mCS-light-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:6px}.mCS-light-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-light-3.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:6px;margin:5px 0}.mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{width:12px}.mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{height:12px;margin:2px 0}.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:rgba(0,0,0,0.1)}.mCS-dark-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:rgba(0,0,0,0.15)}.mCS-dark-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-dark-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:rgba(0,0,0,0.15)}.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail{background-color:rgba(0,0,0,0.1)}.mCS-inset.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail{width:12px;background-color:#000;background-color:rgba(0,0,0,0.2)}.mCS-inset.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:6px;margin:3px 5px;position:absolute;height:auto;top:0;bottom:0;left:0;right:0}.mCS-inset.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{height:6px;margin:5px 3px;position:absolute;width:auto;top:0;bottom:0;left:0;right:0}.mCS-inset.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:12px;margin:2px 0}.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75)}.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.1)}.mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent;border-width:1px;border-style:solid;border-color:#fff;border-color:rgba(255,255,255,0.2);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail{border-color:#000;border-color:rgba(0,0,0,0.2)}.mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail{background-color:#fff;background-color:rgba(255,255,255,0.6)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.6)}.mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75)}.mCS-inset-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-inset-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.75)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.85)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.9)}
2
- .um-login.um-logout{max-width:300px!important}.um-misc-with-img{position:relative;font-size:15px;border-bottom:3px solid #eee;text-align:center;margin-bottom:14px;padding-top:4px;padding-bottom:14px}.um-misc-img{text-align:center}.um-misc-img img{border-radius:999px;height:auto!important;display:inline-block!important}.um-misc-ul,.um-misc-ul li{font-size:14px}.um-profile-connect.um-member-connect{padding:5px 0 10px}.um-profile-connect.um-member-connect a{text-align:center;width:36px;line-height:36px;height:36px;font-size:20px}@charset "UTF-8";@font-face{font-family:FontAwesome;src:url(../font/fontawesome-webfont.eot?v=4.2.0);src:url(../font/fontawesome-webfont.eot?v=4.2.0#iefix) format("embedded-opentype"),url(../font/fontawesome-webfont.woff?v=4.2.0) format("woff"),url(../font/fontawesome-webfont.ttf?v=4.2.0) format("truetype"),url(../font/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular) format("svg");font-weight:400;font-style:normal}[class*=" um-faicon-"]:before,[class^=um-faicon-]:before{font-family:FontAwesome!important;font-style:normal!important;font-weight:400!important;font-variant:normal!important;text-transform:none!important;speak:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.um-faicon-glass:before{content:"\f000"}.um-faicon-music:before{content:"\f001"}.um-faicon-search:before{content:"\f002"}.um-faicon-envelope-o:before{content:"\f003"}.um-faicon-heart:before{content:"\f004"}.um-faicon-star:before{content:"\f005"}.um-faicon-star-o:before{content:"\f006"}.um-faicon-user:before{content:"\f007"}.um-faicon-film:before{content:"\f008"}.um-faicon-th-large:before{content:"\f009"}.um-faicon-th:before{content:"\f00a"}.um-faicon-th-list:before{content:"\f00b"}.um-faicon-check:before{content:"\f00c"}.um-faicon-close:before,.um-faicon-remove:before,.um-faicon-times:before{content:"\f00d"}.um-faicon-search-plus:before{content:"\f00e"}.um-faicon-search-minus:before{content:"\f010"}.um-faicon-power-off:before{content:"\f011"}.um-faicon-signal:before{content:"\f012"}.um-faicon-cog:before,.um-faicon-gear:before{content:"\f013"}.um-faicon-trash-o:before{content:"\f014"}.um-faicon-home:before{content:"\f015"}.um-faicon-file-o:before{content:"\f016"}.um-faicon-clock-o:before{content:"\f017"}.um-faicon-road:before{content:"\f018"}.um-faicon-download:before{content:"\f019"}.um-faicon-arrow-circle-o-down:before{content:"\f01a"}.um-faicon-arrow-circle-o-up:before{content:"\f01b"}.um-faicon-inbox:before{content:"\f01c"}.um-faicon-play-circle-o:before{content:"\f01d"}.um-faicon-repeat:before,.um-faicon-rotate-right:before{content:"\f01e"}.um-faicon-refresh:before{content:"\f021"}.um-faicon-list-alt:before{content:"\f022"}.um-faicon-lock:before{content:"\f023"}.um-faicon-flag:before{content:"\f024"}.um-faicon-headphones:before{content:"\f025"}.um-faicon-volume-off:before{content:"\f026"}.um-faicon-volume-down:before{content:"\f027"}.um-faicon-volume-up:before{content:"\f028"}.um-faicon-qrcode:before{content:"\f029"}.um-faicon-barcode:before{content:"\f02a"}.um-faicon-tag:before{content:"\f02b"}.um-faicon-tags:before{content:"\f02c"}.um-faicon-book:before{content:"\f02d"}.um-faicon-bookmark:before{content:"\f02e"}.um-faicon-print:before{content:"\f02f"}.um-faicon-camera:before{content:"\f030"}.um-faicon-font:before{content:"\f031"}.um-faicon-bold:before{content:"\f032"}.um-faicon-italic:before{content:"\f033"}.um-faicon-text-height:before{content:"\f034"}.um-faicon-text-width:before{content:"\f035"}.um-faicon-align-left:before{content:"\f036"}.um-faicon-align-center:before{content:"\f037"}.um-faicon-align-right:before{content:"\f038"}.um-faicon-align-justify:before{content:"\f039"}.um-faicon-list:before{content:"\f03a"}.um-faicon-dedent:before,.um-faicon-outdent:before{content:"\f03b"}.um-faicon-indent:before{content:"\f03c"}.um-faicon-video-camera:before{content:"\f03d"}.um-faicon-image:before,.um-faicon-photo:before,.um-faicon-picture-o:before{content:"\f03e"}.um-faicon-pencil:before{content:"\f040"}.um-faicon-map-marker:before{content:"\f041"}.um-faicon-adjust:before{content:"\f042"}.um-faicon-tint:before{content:"\f043"}.um-faicon-edit:before,.um-faicon-pencil-square-o:before{content:"\f044"}.um-faicon-share-square-o:before{content:"\f045"}.um-faicon-check-square-o:before{content:"\f046"}.um-faicon-arrows:before{content:"\f047"}.um-faicon-step-backward:before{content:"\f048"}.um-faicon-fast-backward:before{content:"\f049"}.um-faicon-backward:before{content:"\f04a"}.um-faicon-play:before{content:"\f04b"}.um-faicon-pause:before{content:"\f04c"}.um-faicon-stop:before{content:"\f04d"}.um-faicon-forward:before{content:"\f04e"}.um-faicon-fast-forward:before{content:"\f050"}.um-faicon-step-forward:before{content:"\f051"}.um-faicon-eject:before{content:"\f052"}.um-faicon-chevron-left:before{content:"\f053"}.um-faicon-chevron-right:before{content:"\f054"}.um-faicon-plus-circle:before{content:"\f055"}.um-faicon-minus-circle:before{content:"\f056"}.um-faicon-times-circle:before{content:"\f057"}.um-faicon-check-circle:before{content:"\f058"}.um-faicon-question-circle:before{content:"\f059"}.um-faicon-info-circle:before{content:"\f05a"}.um-faicon-crosshairs:before{content:"\f05b"}.um-faicon-times-circle-o:before{content:"\f05c"}.um-faicon-check-circle-o:before{content:"\f05d"}.um-faicon-ban:before{content:"\f05e"}.um-faicon-arrow-left:before{content:"\f060"}.um-faicon-arrow-right:before{content:"\f061"}.um-faicon-arrow-up:before{content:"\f062"}.um-faicon-arrow-down:before{content:"\f063"}.um-faicon-mail-forward:before,.um-faicon-share:before{content:"\f064"}.um-faicon-expand:before{content:"\f065"}.um-faicon-compress:before{content:"\f066"}.um-faicon-plus:before{content:"\f067"}.um-faicon-minus:before{content:"\f068"}.um-faicon-asterisk:before{content:"\f069"}.um-faicon-exclamation-circle:before{content:"\f06a"}.um-faicon-gift:before{content:"\f06b"}.um-faicon-leaf:before{content:"\f06c"}.um-faicon-fire:before{content:"\f06d"}.um-faicon-eye:before{content:"\f06e"}.um-faicon-eye-slash:before{content:"\f070"}.um-faicon-exclamation-triangle:before,.um-faicon-warning:before{content:"\f071"}.um-faicon-plane:before{content:"\f072"}.um-faicon-calendar:before{content:"\f073"}.um-faicon-random:before{content:"\f074"}.um-faicon-comment:before{content:"\f075"}.um-faicon-magnet:before{content:"\f076"}.um-faicon-chevron-up:before{content:"\f077"}.um-faicon-chevron-down:before{content:"\f078"}.um-faicon-retweet:before{content:"\f079"}.um-faicon-shopping-cart:before{content:"\f07a"}.um-faicon-folder:before{content:"\f07b"}.um-faicon-folder-open:before{content:"\f07c"}.um-faicon-arrows-v:before{content:"\f07d"}.um-faicon-arrows-h:before{content:"\f07e"}.um-faicon-bar-chart-o:before,.um-faicon-bar-chart:before{content:"\f080"}.um-faicon-twitter-square:before{content:"\f081"}.um-faicon-facebook-square:before{content:"\f082"}.um-faicon-camera-retro:before{content:"\f083"}.um-faicon-key:before{content:"\f084"}.um-faicon-cogs:before,.um-faicon-gears:before{content:"\f085"}.um-faicon-comments:before{content:"\f086"}.um-faicon-thumbs-o-up:before{content:"\f087"}.um-faicon-thumbs-o-down:before{content:"\f088"}.um-faicon-star-half:before{content:"\f089"}.um-faicon-heart-o:before{content:"\f08a"}.um-faicon-sign-out:before{content:"\f08b"}.um-faicon-linkedin-square:before{content:"\f08c"}.um-faicon-thumb-tack:before{content:"\f08d"}.um-faicon-external-link:before{content:"\f08e"}.um-faicon-sign-in:before{content:"\f090"}.um-faicon-trophy:before{content:"\f091"}.um-faicon-github-square:before{content:"\f092"}.um-faicon-upload:before{content:"\f093"}.um-faicon-lemon-o:before{content:"\f094"}.um-faicon-phone:before{content:"\f095"}.um-faicon-square-o:before{content:"\f096"}.um-faicon-bookmark-o:before{content:"\f097"}.um-faicon-phone-square:before{content:"\f098"}.um-faicon-twitter:before{content:"\f099"}.um-faicon-facebook:before{content:"\f09a"}.um-faicon-github:before{content:"\f09b"}.um-faicon-unlock:before{content:"\f09c"}.um-faicon-credit-card:before{content:"\f09d"}.um-faicon-rss:before{content:"\f09e"}.um-faicon-hdd-o:before{content:"\f0a0"}.um-faicon-bullhorn:before{content:"\f0a1"}.um-faicon-bell:before{content:"\f0f3"}.um-faicon-certificate:before{content:"\f0a3"}.um-faicon-hand-o-right:before{content:"\f0a4"}.um-faicon-hand-o-left:before{content:"\f0a5"}.um-faicon-hand-o-up:before{content:"\f0a6"}.um-faicon-hand-o-down:before{content:"\f0a7"}.um-faicon-arrow-circle-left:before{content:"\f0a8"}.um-faicon-arrow-circle-right:before{content:"\f0a9"}.um-faicon-arrow-circle-up:before{content:"\f0aa"}.um-faicon-arrow-circle-down:before{content:"\f0ab"}.um-faicon-globe:before{content:"\f0ac"}.um-faicon-wrench:before{content:"\f0ad"}.um-faicon-tasks:before{content:"\f0ae"}.um-faicon-filter:before{content:"\f0b0"}.um-faicon-briefcase:before{content:"\f0b1"}.um-faicon-arrows-alt:before{content:"\f0b2"}.um-faicon-group:before,.um-faicon-users:before{content:"\f0c0"}.um-faicon-chain:before,.um-faicon-link:before{content:"\f0c1"}.um-faicon-cloud:before{content:"\f0c2"}.um-faicon-flask:before{content:"\f0c3"}.um-faicon-cut:before,.um-faicon-scissors:before{content:"\f0c4"}.um-faicon-copy:before,.um-faicon-files-o:before{content:"\f0c5"}.um-faicon-paperclip:before{content:"\f0c6"}.um-faicon-floppy-o:before,.um-faicon-save:before{content:"\f0c7"}.um-faicon-square:before{content:"\f0c8"}.um-faicon-bars:before,.um-faicon-navicon:before,.um-faicon-reorder:before{content:"\f0c9"}.um-faicon-list-ul:before{content:"\f0ca"}.um-faicon-list-ol:before{content:"\f0cb"}.um-faicon-strikethrough:before{content:"\f0cc"}.um-faicon-underline:before{content:"\f0cd"}.um-faicon-table:before{content:"\f0ce"}.um-faicon-magic:before{content:"\f0d0"}.um-faicon-truck:before{content:"\f0d1"}.um-faicon-pinterest:before{content:"\f0d2"}.um-faicon-pinterest-square:before{content:"\f0d3"}.um-faicon-google-plus-square:before{content:"\f0d4"}.um-faicon-google-plus:before{content:"\f0d5"}.um-faicon-money:before{content:"\f0d6"}.um-faicon-caret-down:before{content:"\f0d7"}.um-faicon-caret-up:before{content:"\f0d8"}.um-faicon-caret-left:before{content:"\f0d9"}.um-faicon-caret-right:before{content:"\f0da"}.um-faicon-columns:before{content:"\f0db"}.um-faicon-sort:before,.um-faicon-unsorted:before{content:"\f0dc"}.um-faicon-sort-desc:before,.um-faicon-sort-down:before{content:"\f0dd"}.um-faicon-sort-asc:before,.um-faicon-sort-up:before{content:"\f0de"}.um-faicon-envelope:before{content:"\f0e0"}.um-faicon-linkedin:before{content:"\f0e1"}.um-faicon-rotate-left:before,.um-faicon-undo:before{content:"\f0e2"}.um-faicon-gavel:before,.um-faicon-legal:before{content:"\f0e3"}.um-faicon-dashboard:before,.um-faicon-tachometer:before{content:"\f0e4"}.um-faicon-comment-o:before{content:"\f0e5"}.um-faicon-comments-o:before{content:"\f0e6"}.um-faicon-bolt:before,.um-faicon-flash:before{content:"\f0e7"}.um-faicon-sitemap:before{content:"\f0e8"}.um-faicon-umbrella:before{content:"\f0e9"}.um-faicon-clipboard:before,.um-faicon-paste:before{content:"\f0ea"}.um-faicon-lightbulb-o:before{content:"\f0eb"}.um-faicon-exchange:before{content:"\f0ec"}.um-faicon-cloud-download:before{content:"\f0ed"}.um-faicon-cloud-upload:before{content:"\f0ee"}.um-faicon-user-md:before{content:"\f0f0"}.um-faicon-stethoscope:before{content:"\f0f1"}.um-faicon-suitcase:before{content:"\f0f2"}.um-faicon-bell-o:before{content:"\f0a2"}.um-faicon-coffee:before{content:"\f0f4"}.um-faicon-cutlery:before{content:"\f0f5"}.um-faicon-file-text-o:before{content:"\f0f6"}.um-faicon-building-o:before{content:"\f0f7"}.um-faicon-hospital-o:before{content:"\f0f8"}.um-faicon-ambulance:before{content:"\f0f9"}.um-faicon-medkit:before{content:"\f0fa"}.um-faicon-fighter-jet:before{content:"\f0fb"}.um-faicon-beer:before{content:"\f0fc"}.um-faicon-h-square:before{content:"\f0fd"}.um-faicon-plus-square:before{content:"\f0fe"}.um-faicon-angle-double-left:before{content:"\f100"}.um-faicon-angle-double-right:before{content:"\f101"}.um-faicon-angle-double-up:before{content:"\f102"}.um-faicon-angle-double-down:before{content:"\f103"}.um-faicon-angle-left:before{content:"\f104"}.um-faicon-angle-right:before{content:"\f105"}.um-faicon-angle-up:before{content:"\f106"}.um-faicon-angle-down:before{content:"\f107"}.um-faicon-desktop:before{content:"\f108"}.um-faicon-laptop:before{content:"\f109"}.um-faicon-tablet:before{content:"\f10a"}.um-faicon-mobile-phone:before,.um-faicon-mobile:before{content:"\f10b"}.um-faicon-circle-o:before{content:"\f10c"}.um-faicon-quote-left:before{content:"\f10d"}.um-faicon-quote-right:before{content:"\f10e"}.um-faicon-spinner:before{content:"\f110"}.um-faicon-circle:before{content:"\f111"}.um-faicon-mail-reply:before,.um-faicon-reply:before{content:"\f112"}.um-faicon-github-alt:before{content:"\f113"}.um-faicon-folder-o:before{content:"\f114"}.um-faicon-folder-open-o:before{content:"\f115"}.um-faicon-smile-o:before{content:"\f118"}.um-faicon-frown-o:before{content:"\f119"}.um-faicon-meh-o:before{content:"\f11a"}.um-faicon-gamepad:before{content:"\f11b"}.um-faicon-keyboard-o:before{content:"\f11c"}.um-faicon-flag-o:before{content:"\f11d"}.um-faicon-flag-checkered:before{content:"\f11e"}.um-faicon-terminal:before{content:"\f120"}.um-faicon-code:before{content:"\f121"}.um-faicon-mail-reply-all:before,.um-faicon-reply-all:before{content:"\f122"}.um-faicon-star-half-empty:before,.um-faicon-star-half-full:before,.um-faicon-star-half-o:before{content:"\f123"}.um-faicon-location-arrow:before{content:"\f124"}.um-faicon-crop:before{content:"\f125"}.um-faicon-code-fork:before{content:"\f126"}.um-faicon-chain-broken:before,.um-faicon-unlink:before{content:"\f127"}.um-faicon-question:before{content:"\f128"}.um-faicon-info:before{content:"\f129"}.um-faicon-exclamation:before{content:"\f12a"}.um-faicon-superscript:before{content:"\f12b"}.um-faicon-subscript:before{content:"\f12c"}.um-faicon-eraser:before{content:"\f12d"}.um-faicon-puzzle-piece:before{content:"\f12e"}.um-faicon-microphone:before{content:"\f130"}.um-faicon-microphone-slash:before{content:"\f131"}.um-faicon-shield:before{content:"\f132"}.um-faicon-calendar-o:before{content:"\f133"}.um-faicon-fire-extinguisher:before{content:"\f134"}.um-faicon-rocket:before{content:"\f135"}.um-faicon-maxcdn:before{content:"\f136"}.um-faicon-chevron-circle-left:before{content:"\f137"}.um-faicon-chevron-circle-right:before{content:"\f138"}.um-faicon-chevron-circle-up:before{content:"\f139"}.um-faicon-chevron-circle-down:before{content:"\f13a"}.um-faicon-html5:before{content:"\f13b"}.um-faicon-css3:before{content:"\f13c"}.um-faicon-anchor:before{content:"\f13d"}.um-faicon-unlock-alt:before{content:"\f13e"}.um-faicon-bullseye:before{content:"\f140"}.um-faicon-ellipsis-h:before{content:"\f141"}.um-faicon-ellipsis-v:before{content:"\f142"}.um-faicon-rss-square:before{content:"\f143"}.um-faicon-play-circle:before{content:"\f144"}.um-faicon-ticket:before{content:"\f145"}.um-faicon-minus-square:before{content:"\f146"}.um-faicon-minus-square-o:before{content:"\f147"}.um-faicon-level-up:before{content:"\f148"}.um-faicon-level-down:before{content:"\f149"}.um-faicon-check-square:before{content:"\f14a"}.um-faicon-pencil-square:before{content:"\f14b"}.um-faicon-external-link-square:before{content:"\f14c"}.um-faicon-share-square:before{content:"\f14d"}.um-faicon-compass:before{content:"\f14e"}.um-faicon-caret-square-o-down:before,.um-faicon-toggle-down:before{content:"\f150"}.um-faicon-caret-square-o-up:before,.um-faicon-toggle-up:before{content:"\f151"}.um-faicon-caret-square-o-right:before,.um-faicon-toggle-right:before{content:"\f152"}.um-faicon-eur:before,.um-faicon-euro:before{content:"\f153"}.um-faicon-gbp:before{content:"\f154"}.um-faicon-dollar:before,.um-faicon-usd:before{content:"\f155"}.um-faicon-inr:before,.um-faicon-rupee:before{content:"\f156"}.um-faicon-cny:before,.um-faicon-jpy:before,.um-faicon-rmb:before,.um-faicon-yen:before{content:"\f157"}.um-faicon-rouble:before,.um-faicon-rub:before,.um-faicon-ruble:before{content:"\f158"}.um-faicon-krw:before,.um-faicon-won:before{content:"\f159"}.um-faicon-bitcoin:before,.um-faicon-btc:before{content:"\f15a"}.um-faicon-file:before{content:"\f15b"}.um-faicon-file-text:before{content:"\f15c"}.um-faicon-sort-alpha-asc:before{content:"\f15d"}.um-faicon-sort-alpha-desc:before{content:"\f15e"}.um-faicon-sort-amount-asc:before{content:"\f160"}.um-faicon-sort-amount-desc:before{content:"\f161"}.um-faicon-sort-numeric-asc:before{content:"\f162"}.um-faicon-sort-numeric-desc:before{content:"\f163"}.um-faicon-thumbs-up:before{content:"\f164"}.um-faicon-thumbs-down:before{content:"\f165"}.um-faicon-youtube-square:before{content:"\f166"}.um-faicon-youtube:before{content:"\f167"}.um-faicon-xing:before{content:"\f168"}.um-faicon-xing-square:before{content:"\f169"}.um-faicon-youtube-play:before{content:"\f16a"}.um-faicon-dropbox:before{content:"\f16b"}.um-faicon-stack-overflow:before{content:"\f16c"}.um-faicon-instagram:before{content:"\f16d"}.um-faicon-flickr:before{content:"\f16e"}.um-faicon-adn:before{content:"\f170"}.um-faicon-bitbucket:before{content:"\f171"}.um-faicon-bitbucket-square:before{content:"\f172"}.um-faicon-tumblr:before{content:"\f173"}.um-faicon-tumblr-square:before{content:"\f174"}.um-faicon-long-arrow-down:before{content:"\f175"}.um-faicon-long-arrow-up:before{content:"\f176"}.um-faicon-long-arrow-left:before{content:"\f177"}.um-faicon-long-arrow-right:before{content:"\f178"}.um-faicon-apple:before{content:"\f179"}.um-faicon-windows:before{content:"\f17a"}.um-faicon-android:before{content:"\f17b"}.um-faicon-linux:before{content:"\f17c"}.um-faicon-dribbble:before{content:"\f17d"}.um-faicon-skype:before{content:"\f17e"}.um-faicon-foursquare:before{content:"\f180"}.um-faicon-trello:before{content:"\f181"}.um-faicon-female:before{content:"\f182"}.um-faicon-male:before{content:"\f183"}.um-faicon-gittip:before{content:"\f184"}.um-faicon-sun-o:before{content:"\f185"}.um-faicon-moon-o:before{content:"\f186"}.um-faicon-archive:before{content:"\f187"}.um-faicon-bug:before{content:"\f188"}.um-faicon-vk:before{content:"\f189"}.um-faicon-weibo:before{content:"\f18a"}.um-faicon-renren:before{content:"\f18b"}.um-faicon-pagelines:before{content:"\f18c"}.um-faicon-stack-exchange:before{content:"\f18d"}.um-faicon-arrow-circle-o-right:before{content:"\f18e"}.um-faicon-arrow-circle-o-left:before{content:"\f190"}.um-faicon-caret-square-o-left:before,.um-faicon-toggle-left:before{content:"\f191"}.um-faicon-dot-circle-o:before{content:"\f192"}.um-faicon-wheelchair:before{content:"\f193"}.um-faicon-vimeo-square:before{content:"\f194"}.um-faicon-try:before,.um-faicon-turkish-lira:before{content:"\f195"}.um-faicon-plus-square-o:before{content:"\f196"}.um-faicon-space-shuttle:before{content:"\f197"}.um-faicon-slack:before{content:"\f198"}.um-faicon-envelope-square:before{content:"\f199"}.um-faicon-wordpress:before{content:"\f19a"}.um-faicon-openid:before{content:"\f19b"}.um-faicon-bank:before,.um-faicon-institution:before,.um-faicon-university:before{content:"\f19c"}.um-faicon-graduation-cap:before,.um-faicon-mortar-board:before{content:"\f19d"}.um-faicon-yahoo:before{content:"\f19e"}.um-faicon-google:before{content:"\f1a0"}.um-faicon-reddit:before{content:"\f1a1"}.um-faicon-reddit-square:before{content:"\f1a2"}.um-faicon-stumbleupon-circle:before{content:"\f1a3"}.um-faicon-stumbleupon:before{content:"\f1a4"}.um-faicon-delicious:before{content:"\f1a5"}.um-faicon-digg:before{content:"\f1a6"}.um-faicon-pied-piper:before{content:"\f1a7"}.um-faicon-pied-piper-alt:before{content:"\f1a8"}.um-faicon-drupal:before{content:"\f1a9"}.um-faicon-joomla:before{content:"\f1aa"}.um-faicon-language:before{content:"\f1ab"}.um-faicon-fax:before{content:"\f1ac"}.um-faicon-building:before{content:"\f1ad"}.um-faicon-child:before{content:"\f1ae"}.um-faicon-paw:before{content:"\f1b0"}.um-faicon-spoon:before{content:"\f1b1"}.um-faicon-cube:before{content:"\f1b2"}.um-faicon-cubes:before{content:"\f1b3"}.um-faicon-behance:before{content:"\f1b4"}.um-faicon-behance-square:before{content:"\f1b5"}.um-faicon-steam:before{content:"\f1b6"}.um-faicon-steam-square:before{content:"\f1b7"}.um-faicon-recycle:before{content:"\f1b8"}.um-faicon-automobile:before,.um-faicon-car:before{content:"\f1b9"}.um-faicon-cab:before,.um-faicon-taxi:before{content:"\f1ba"}.um-faicon-tree:before{content:"\f1bb"}.um-faicon-spotify:before{content:"\f1bc"}.um-faicon-deviantart:before{content:"\f1bd"}.um-faicon-soundcloud:before{content:"\f1be"}.um-faicon-database:before{content:"\f1c0"}.um-faicon-file-pdf-o:before{content:"\f1c1"}.um-faicon-file-word-o:before{content:"\f1c2"}.um-faicon-file-excel-o:before{content:"\f1c3"}.um-faicon-file-powerpoint-o:before{content:"\f1c4"}.um-faicon-file-image-o:before,.um-faicon-file-photo-o:before,.um-faicon-file-picture-o:before{content:"\f1c5"}.um-faicon-file-archive-o:before,.um-faicon-file-zip-o:before{content:"\f1c6"}.um-faicon-file-audio-o:before,.um-faicon-file-sound-o:before{content:"\f1c7"}.um-faicon-file-movie-o:before,.um-faicon-file-video-o:before{content:"\f1c8"}.um-faicon-file-code-o:before{content:"\f1c9"}.um-faicon-vine:before{content:"\f1ca"}.um-faicon-codepen:before{content:"\f1cb"}.um-faicon-jsfiddle:before{content:"\f1cc"}.um-faicon-life-bouy:before,.um-faicon-life-buoy:before,.um-faicon-life-ring:before,.um-faicon-life-saver:before,.um-faicon-support:before{content:"\f1cd"}.um-faicon-circle-o-notch:before{content:"\f1ce"}.um-faicon-ra:before,.um-faicon-rebel:before{content:"\f1d0"}.um-faicon-empire:before,.um-faicon-ge:before{content:"\f1d1"}.um-faicon-git-square:before{content:"\f1d2"}.um-faicon-git:before{content:"\f1d3"}.um-faicon-hacker-news:before{content:"\f1d4"}.um-faicon-tencent-weibo:before{content:"\f1d5"}.um-faicon-qq:before{content:"\f1d6"}.um-faicon-wechat:before,.um-faicon-weixin:before{content:"\f1d7"}.um-faicon-paper-plane:before,.um-faicon-send:before{content:"\f1d8"}.um-faicon-paper-plane-o:before,.um-faicon-send-o:before{content:"\f1d9"}.um-faicon-history:before{content:"\f1da"}.um-faicon-circle-thin:before{content:"\f1db"}.um-faicon-header:before{content:"\f1dc"}.um-faicon-paragraph:before{content:"\f1dd"}.um-faicon-sliders:before{content:"\f1de"}.um-faicon-share-alt:before{content:"\f1e0"}.um-faicon-share-alt-square:before{content:"\f1e1"}.um-faicon-bomb:before{content:"\f1e2"}.um-faicon-futbol-o:before,.um-faicon-soccer-ball-o:before{content:"\f1e3"}.um-faicon-tty:before{content:"\f1e4"}.um-faicon-binoculars:before{content:"\f1e5"}.um-faicon-plug:before{content:"\f1e6"}.um-faicon-slideshare:before{content:"\f1e7"}.um-faicon-twitch:before{content:"\f1e8"}.um-faicon-yelp:before{content:"\f1e9"}.um-faicon-newspaper-o:before{content:"\f1ea"}.um-faicon-wifi:before{content:"\f1eb"}.um-faicon-calculator:before{content:"\f1ec"}.um-faicon-paypal:before{content:"\f1ed"}.um-faicon-google-wallet:before{content:"\f1ee"}.um-faicon-cc-visa:before{content:"\f1f0"}.um-faicon-cc-mastercard:before{content:"\f1f1"}.um-faicon-cc-discover:before{content:"\f1f2"}.um-faicon-cc-amex:before{content:"\f1f3"}.um-faicon-cc-paypal:before{content:"\f1f4"}.um-faicon-cc-stripe:before{content:"\f1f5"}.um-faicon-bell-slash:before{content:"\f1f6"}.um-faicon-bell-slash-o:before{content:"\f1f7"}.um-faicon-trash:before{content:"\f1f8"}.um-faicon-copyright:before{content:"\f1f9"}.um-faicon-at:before{content:"\f1fa"}.um-faicon-eyedropper:before{content:"\f1fb"}.um-faicon-paint-brush:before{content:"\f1fc"}.um-faicon-birthday-cake:before{content:"\f1fd"}.um-faicon-area-chart:before{content:"\f1fe"}.um-faicon-pie-chart:before{content:"\f200"}.um-faicon-line-chart:before{content:"\f201"}.um-faicon-lastfm:before{content:"\f202"}.um-faicon-lastfm-square:before{content:"\f203"}.um-faicon-toggle-off:before{content:"\f204"}.um-faicon-toggle-on:before{content:"\f205"}.um-faicon-bicycle:before{content:"\f206"}.um-faicon-bus:before{content:"\f207"}.um-faicon-ioxhost:before{content:"\f208"}.um-faicon-angellist:before{content:"\f209"}.um-faicon-cc:before{content:"\f20a"}.um-faicon-ils:before,.um-faicon-shekel:before,.um-faicon-sheqel:before{content:"\f20b"}.um-faicon-meanpath:before{content:"\f20c"}@font-face{font-family:Ionicons;src:url(../font/ionicons.eot?v=2.0.0);src:url(../font/ionicons.eot?v=2.0.0#iefix) format("embedded-opentype"),url(../font/ionicons.woff?v=2.0.0) format("woff"),url(../font/ionicons.ttf?v=2.0.0) format("truetype"),url(../font/ionicons.svg?v=2.0.0#Ionicons) format("svg");font-weight:400;font-style:normal}[class*=" um-icon-"]:before,[class^=um-icon-]:before{font-family:Ionicons!important;font-style:normal!important;font-weight:400!important;font-variant:normal!important;text-transform:none!important;speak:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.um-icon-alert:before{content:"\f101"}.um-icon-alert-circled:before{content:"\f100"}.um-icon-android-add:before{content:"\f2c7"}.um-icon-android-add-circle:before{content:"\f359"}.um-icon-android-alarm-clock:before{content:"\f35a"}.um-icon-android-alert:before{content:"\f35b"}.um-icon-android-apps:before{content:"\f35c"}.um-icon-android-archive:before{content:"\f2c9"}.um-icon-android-arrow-back:before{content:"\f2ca"}.um-icon-android-arrow-down:before{content:"\f35d"}.um-icon-android-arrow-dropdown:before{content:"\f35f"}.um-icon-android-arrow-dropdown-circle:before{content:"\f35e"}.um-icon-android-arrow-dropleft:before{content:"\f361"}.um-icon-android-arrow-dropleft-circle:before{content:"\f360"}.um-icon-android-arrow-dropright:before{content:"\f363"}.um-icon-android-arrow-dropright-circle:before{content:"\f362"}.um-icon-android-arrow-dropup:before{content:"\f365"}.um-icon-android-arrow-dropup-circle:before{content:"\f364"}.um-icon-android-arrow-forward:before{content:"\f30f"}.um-icon-android-arrow-up:before{content:"\f366"}.um-icon-android-attach:before{content:"\f367"}.um-icon-android-bar:before{content:"\f368"}.um-icon-android-bicycle:before{content:"\f369"}.um-icon-android-boat:before{content:"\f36a"}.um-icon-android-bookmark:before{content:"\f36b"}.um-icon-android-bulb:before{content:"\f36c"}.um-icon-android-bus:before{content:"\f36d"}.um-icon-android-calendar:before{content:"\f2d1"}.um-icon-android-call:before{content:"\f2d2"}.um-icon-android-camera:before{content:"\f2d3"}.um-icon-android-cancel:before{content:"\f36e"}.um-icon-android-car:before{content:"\f36f"}.um-icon-android-cart:before{content:"\f370"}.um-icon-android-chat:before{content:"\f2d4"}.um-icon-android-checkbox:before{content:"\f374"}.um-icon-android-checkbox-blank:before{content:"\f371"}.um-icon-android-checkbox-outline:before{content:"\f373"}.um-icon-android-checkbox-outline-blank:before{content:"\f372"}.um-icon-android-checkmark-circle:before{content:"\f375"}.um-icon-android-clipboard:before{content:"\f376"}.um-icon-android-close:before{content:"\f2d7"}.um-icon-android-cloud:before{content:"\f37a"}.um-icon-android-cloud-circle:before{content:"\f377"}.um-icon-android-cloud-done:before{content:"\f378"}.um-icon-android-cloud-outline:before{content:"\f379"}.um-icon-android-color-palette:before{content:"\f37b"}.um-icon-android-compass:before{content:"\f37c"}.um-icon-android-contact:before{content:"\f2d8"}.um-icon-android-contacts:before{content:"\f2d9"}.um-icon-android-contract:before{content:"\f37d"}.um-icon-android-create:before{content:"\f37e"}.um-icon-android-delete:before{content:"\f37f"}.um-icon-android-desktop:before{content:"\f380"}.um-icon-android-document:before{content:"\f381"}.um-icon-android-done:before{content:"\f383"}.um-icon-android-done-all:before{content:"\f382"}.um-icon-android-download:before{content:"\f2dd"}.um-icon-android-drafts:before{content:"\f384"}.um-icon-android-exit:before{content:"\f385"}.um-icon-android-expand:before{content:"\f386"}.um-icon-android-favorite:before{content:"\f388"}.um-icon-android-favorite-outline:before{content:"\f387"}.um-icon-android-film:before{content:"\f389"}.um-icon-android-folder:before{content:"\f2e0"}.um-icon-android-folder-open:before{content:"\f38a"}.um-icon-android-funnel:before{content:"\f38b"}.um-icon-android-globe:before{content:"\f38c"}.um-icon-android-hand:before{content:"\f2e3"}.um-icon-android-hangout:before{content:"\f38d"}.um-icon-android-happy:before{content:"\f38e"}.um-icon-android-home:before{content:"\f38f"}.um-icon-android-image:before{content:"\f2e4"}.um-icon-android-laptop:before{content:"\f390"}.um-icon-android-list:before{content:"\f391"}.um-icon-android-locate:before{content:"\f2e9"}.um-icon-android-lock:before{content:"\f392"}.um-icon-android-mail:before{content:"\f2eb"}.um-icon-android-map:before{content:"\f393"}.um-icon-android-menu:before{content:"\f394"}.um-icon-android-microphone:before{content:"\f2ec"}.um-icon-android-microphone-off:before{content:"\f395"}.um-icon-android-more-horizontal:before{content:"\f396"}.um-icon-android-more-vertical:before{content:"\f397"}.um-icon-android-navigate:before{content:"\f398"}.um-icon-android-notifications:before{content:"\f39b"}.um-icon-android-notifications-none:before{content:"\f399"}.um-icon-android-notifications-off:before{content:"\f39a"}.um-icon-android-open:before{content:"\f39c"}.um-icon-android-options:before{content:"\f39d"}.um-icon-android-people:before{content:"\f39e"}.um-icon-android-person:before{content:"\f3a0"}.um-icon-android-person-add:before{content:"\f39f"}.um-icon-android-phone-landscape:before{content:"\f3a1"}.um-icon-android-phone-portrait:before{content:"\f3a2"}.um-icon-android-pin:before{content:"\f3a3"}.um-icon-android-plane:before{content:"\f3a4"}.um-icon-android-playstore:before{content:"\f2f0"}.um-icon-android-print:before{content:"\f3a5"}.um-icon-android-radio-button-off:before{content:"\f3a6"}.um-icon-android-radio-button-on:before{content:"\f3a7"}.um-icon-android-refresh:before{content:"\f3a8"}.um-icon-android-remove:before{content:"\f2f4"}.um-icon-android-remove-circle:before{content:"\f3a9"}.um-icon-android-restaurant:before{content:"\f3aa"}.um-icon-android-sad:before{content:"\f3ab"}.um-icon-android-search:before{content:"\f2f5"}.um-icon-android-send:before{content:"\f2f6"}.um-icon-android-settings:before{content:"\f2f7"}.um-icon-android-share:before{content:"\f2f8"}.um-icon-android-share-alt:before{content:"\f3ac"}.um-icon-android-star:before{content:"\f2fc"}.um-icon-android-star-half:before{content:"\f3ad"}.um-icon-android-star-outline:before{content:"\f3ae"}.um-icon-android-stopwatch:before{content:"\f2fd"}.um-icon-android-subway:before{content:"\f3af"}.um-icon-android-sunny:before{content:"\f3b0"}.um-icon-android-sync:before{content:"\f3b1"}.um-icon-android-textsms:before{content:"\f3b2"}.um-icon-android-time:before{content:"\f3b3"}.um-icon-android-train:before{content:"\f3b4"}.um-icon-android-unlock:before{content:"\f3b5"}.um-icon-android-upload:before{content:"\f3b6"}.um-icon-android-volume-down:before{content:"\f3b7"}.um-icon-android-volume-mute:before{content:"\f3b8"}.um-icon-android-volume-off:before{content:"\f3b9"}.um-icon-android-volume-up:before{content:"\f3ba"}.um-icon-android-walk:before{content:"\f3bb"}.um-icon-android-warning:before{content:"\f3bc"}.um-icon-android-watch:before{content:"\f3bd"}.um-icon-android-wifi:before{content:"\f305"}.um-icon-aperture:before{content:"\f313"}.um-icon-archive:before{content:"\f102"}.um-icon-arrow-down-a:before{content:"\f103"}.um-icon-arrow-down-b:before{content:"\f104"}.um-icon-arrow-down-c:before{content:"\f105"}.um-icon-arrow-expand:before{content:"\f25e"}.um-icon-arrow-graph-down-left:before{content:"\f25f"}.um-icon-arrow-graph-down-right:before{content:"\f260"}.um-icon-arrow-graph-up-left:before{content:"\f261"}.um-icon-arrow-graph-up-right:before{content:"\f262"}.um-icon-arrow-left-a:before{content:"\f106"}.um-icon-arrow-left-b:before{content:"\f107"}.um-icon-arrow-left-c:before{content:"\f108"}.um-icon-arrow-move:before{content:"\f263"}.um-icon-arrow-resize:before{content:"\f264"}.um-icon-arrow-return-left:before{content:"\f265"}.um-icon-arrow-return-right:before{content:"\f266"}.um-icon-arrow-right-a:before{content:"\f109"}.um-icon-arrow-right-b:before{content:"\f10a"}.um-icon-arrow-right-c:before{content:"\f10b"}.um-icon-arrow-shrink:before{content:"\f267"}.um-icon-arrow-swap:before{content:"\f268"}.um-icon-arrow-up-a:before{content:"\f10c"}.um-icon-arrow-up-b:before{content:"\f10d"}.um-icon-arrow-up-c:before{content:"\f10e"}.um-icon-asterisk:before{content:"\f314"}.um-icon-at:before{content:"\f10f"}.um-icon-backspace:before{content:"\f3bf"}.um-icon-backspace-outline:before{content:"\f3be"}.um-icon-bag:before{content:"\f110"}.um-icon-battery-charging:before{content:"\f111"}.um-icon-battery-empty:before{content:"\f112"}.um-icon-battery-full:before{content:"\f113"}.um-icon-battery-half:before{content:"\f114"}.um-icon-battery-low:before{content:"\f115"}.um-icon-beaker:before{content:"\f269"}.um-icon-beer:before{content:"\f26a"}.um-icon-bluetooth:before{content:"\f116"}.um-icon-bonfire:before{content:"\f315"}.um-icon-bookmark:before{content:"\f26b"}.um-icon-bowtie:before{content:"\f3c0"}.um-icon-briefcase:before{content:"\f26c"}.um-icon-bug:before{content:"\f2be"}.um-icon-calculator:before{content:"\f26d"}.um-icon-calendar:before{content:"\f117"}.um-icon-camera:before{content:"\f118"}.um-icon-card:before{content:"\f119"}.um-icon-cash:before{content:"\f316"}.um-icon-chatbox:before{content:"\f11b"}.um-icon-chatbox-working:before{content:"\f11a"}.um-icon-chatboxes:before{content:"\f11c"}.um-icon-chatbubble:before{content:"\f11e"}.um-icon-chatbubble-working:before{content:"\f11d"}.um-icon-chatbubbles:before{content:"\f11f"}.um-icon-checkmark:before{content:"\f122"}.um-icon-checkmark-circled:before{content:"\f120"}.um-icon-checkmark-round:before{content:"\f121"}.um-icon-chevron-down:before{content:"\f123"}.um-icon-chevron-left:before{content:"\f124"}.um-icon-chevron-right:before{content:"\f125"}.um-icon-chevron-up:before{content:"\f126"}.um-icon-clipboard:before{content:"\f127"}.um-icon-clock:before{content:"\f26e"}.um-icon-close:before{content:"\f12a"}.um-icon-close-circled:before{content:"\f128"}.um-icon-close-round:before{content:"\f129"}.um-icon-closed-captioning:before{content:"\f317"}.um-icon-cloud:before{content:"\f12b"}.um-icon-code:before{content:"\f271"}.um-icon-code-download:before{content:"\f26f"}.um-icon-code-working:before{content:"\f270"}.um-icon-coffee:before{content:"\f272"}.um-icon-compass:before{content:"\f273"}.um-icon-compose:before{content:"\f12c"}.um-icon-connection-bars:before{content:"\f274"}.um-icon-contrast:before{content:"\f275"}.um-icon-crop:before{content:"\f3c1"}.um-icon-cube:before{content:"\f318"}.um-icon-disc:before{content:"\f12d"}.um-icon-document:before{content:"\f12f"}.um-icon-document-text:before{content:"\f12e"}.um-icon-drag:before{content:"\f130"}.um-icon-earth:before{content:"\f276"}.um-icon-easel:before{content:"\f3c2"}.um-icon-edit:before{content:"\f2bf"}.um-icon-egg:before{content:"\f277"}.um-icon-eject:before{content:"\f131"}.um-icon-email:before{content:"\f132"}.um-icon-email-unread:before{content:"\f3c3"}.um-icon-erlenmeyer-flask:before{content:"\f3c5"}.um-icon-erlenmeyer-flask-bubbles:before{content:"\f3c4"}.um-icon-eye:before{content:"\f133"}.um-icon-eye-disabled:before{content:"\f306"}.um-icon-female:before{content:"\f278"}.um-icon-filing:before{content:"\f134"}.um-icon-film-marker:before{content:"\f135"}.um-icon-fireball:before{content:"\f319"}.um-icon-flag:before{content:"\f279"}.um-icon-flame:before{content:"\f31a"}.um-icon-flash:before{content:"\f137"}.um-icon-flash-off:before{content:"\f136"}.um-icon-folder:before{content:"\f139"}.um-icon-fork:before{content:"\f27a"}.um-icon-fork-repo:before{content:"\f2c0"}.um-icon-forward:before{content:"\f13a"}.um-icon-funnel:before{content:"\f31b"}.um-icon-gear-a:before{content:"\f13d"}.um-icon-gear-b:before{content:"\f13e"}.um-icon-grid:before{content:"\f13f"}.um-icon-hammer:before{content:"\f27b"}.um-icon-happy:before{content:"\f31c"}.um-icon-happy-outline:before{content:"\f3c6"}.um-icon-headphone:before{content:"\f140"}.um-icon-heart:before{content:"\f141"}.um-icon-heart-broken:before{content:"\f31d"}.um-icon-help:before{content:"\f143"}.um-icon-help-buoy:before{content:"\f27c"}.um-icon-help-circled:before{content:"\f142"}.um-icon-home:before{content:"\f144"}.um-icon-icecream:before{content:"\f27d"}.um-icon-image:before{content:"\f147"}.um-icon-images:before{content:"\f148"}.um-icon-information:before{content:"\f14a"}.um-icon-information-circled:before{content:"\f149"}.um-icon-ionic:before{content:"\f14b"}.um-icon-ios-alarm:before{content:"\f3c8"}.um-icon-ios-alarm-outline:before{content:"\f3c7"}.um-icon-ios-albums:before{content:"\f3ca"}.um-icon-ios-albums-outline:before{content:"\f3c9"}.um-icon-ios-americanfootball:before{content:"\f3cc"}.um-icon-ios-americanfootball-outline:before{content:"\f3cb"}.um-icon-ios-analytics:before{content:"\f3ce"}.um-icon-ios-analytics-outline:before{content:"\f3cd"}.um-icon-ios-arrow-back:before{content:"\f3cf"}.um-icon-ios-arrow-down:before{content:"\f3d0"}.um-icon-ios-arrow-forward:before{content:"\f3d1"}.um-icon-ios-arrow-left:before{content:"\f3d2"}.um-icon-ios-arrow-right:before{content:"\f3d3"}.um-icon-ios-arrow-thin-down:before{content:"\f3d4"}.um-icon-ios-arrow-thin-left:before{content:"\f3d5"}.um-icon-ios-arrow-thin-right:before{content:"\f3d6"}.um-icon-ios-arrow-thin-up:before{content:"\f3d7"}.um-icon-ios-arrow-up:before{content:"\f3d8"}.um-icon-ios-at:before{content:"\f3da"}.um-icon-ios-at-outline:before{content:"\f3d9"}.um-icon-ios-barcode:before{content:"\f3dc"}.um-icon-ios-barcode-outline:before{content:"\f3db"}.um-icon-ios-baseball:before{content:"\f3de"}.um-icon-ios-baseball-outline:before{content:"\f3dd"}.um-icon-ios-basketball:before{content:"\f3e0"}.um-icon-ios-basketball-outline:before{content:"\f3df"}.um-icon-ios-bell:before{content:"\f3e2"}.um-icon-ios-bell-outline:before{content:"\f3e1"}.um-icon-ios-body:before{content:"\f3e4"}.um-icon-ios-body-outline:before{content:"\f3e3"}.um-icon-ios-bolt:before{content:"\f3e6"}.um-icon-ios-bolt-outline:before{content:"\f3e5"}.um-icon-ios-book:before{content:"\f3e8"}.um-icon-ios-book-outline:before{content:"\f3e7"}.um-icon-ios-bookmarks:before{content:"\f3ea"}.um-icon-ios-bookmarks-outline:before{content:"\f3e9"}.um-icon-ios-box:before{content:"\f3ec"}.um-icon-ios-box-outline:before{content:"\f3eb"}.um-icon-ios-briefcase:before{content:"\f3ee"}.um-icon-ios-briefcase-outline:before{content:"\f3ed"}.um-icon-ios-browsers:before{content:"\f3f0"}.um-icon-ios-browsers-outline:before{content:"\f3ef"}.um-icon-ios-calculator:before{content:"\f3f2"}.um-icon-ios-calculator-outline:before{content:"\f3f1"}.um-icon-ios-calendar:before{content:"\f3f4"}.um-icon-ios-calendar-outline:before{content:"\f3f3"}.um-icon-ios-camera:before{content:"\f3f6"}.um-icon-ios-camera-outline:before{content:"\f3f5"}.um-icon-ios-cart:before{content:"\f3f8"}.um-icon-ios-cart-outline:before{content:"\f3f7"}.um-icon-ios-chatboxes:before{content:"\f3fa"}.um-icon-ios-chatboxes-outline:before{content:"\f3f9"}.um-icon-ios-chatbubble:before{content:"\f3fc"}.um-icon-ios-chatbubble-outline:before{content:"\f3fb"}.um-icon-ios-checkmark:before{content:"\f3ff"}.um-icon-ios-checkmark-empty:before{content:"\f3fd"}.um-icon-ios-checkmark-outline:before{content:"\f3fe"}.um-icon-ios-circle-filled:before{content:"\f400"}.um-icon-ios-circle-outline:before{content:"\f401"}.um-icon-ios-clock:before{content:"\f403"}.um-icon-ios-clock-outline:before{content:"\f402"}.um-icon-ios-close:before{content:"\f406"}.um-icon-ios-close-empty:before{content:"\f404"}.um-icon-ios-close-outline:before{content:"\f405"}.um-icon-ios-cloud:before{content:"\f40c"}.um-icon-ios-cloud-download:before{content:"\f408"}.um-icon-ios-cloud-download-outline:before{content:"\f407"}.um-icon-ios-cloud-outline:before{content:"\f409"}.um-icon-ios-cloud-upload:before{content:"\f40b"}.um-icon-ios-cloud-upload-outline:before{content:"\f40a"}.um-icon-ios-cloudy:before{content:"\f410"}.um-icon-ios-cloudy-night:before{content:"\f40e"}.um-icon-ios-cloudy-night-outline:before{content:"\f40d"}.um-icon-ios-cloudy-outline:before{content:"\f40f"}.um-icon-ios-cog:before{content:"\f412"}.um-icon-ios-cog-outline:before{content:"\f411"}.um-icon-ios-color-filter:before{content:"\f414"}.um-icon-ios-color-filter-outline:before{content:"\f413"}.um-icon-ios-color-wand:before{content:"\f416"}.um-icon-ios-color-wand-outline:before{content:"\f415"}.um-icon-ios-compose:before{content:"\f418"}.um-icon-ios-compose-outline:before{content:"\f417"}.um-icon-ios-contact:before{content:"\f41a"}.um-icon-ios-contact-outline:before{content:"\f419"}.um-icon-ios-copy:before{content:"\f41c"}.um-icon-ios-copy-outline:before{content:"\f41b"}.um-icon-ios-crop:before{content:"\f41e"}.um-icon-ios-crop-strong:before{content:"\f41d"}.um-icon-ios-download:before{content:"\f420"}.um-icon-ios-download-outline:before{content:"\f41f"}.um-icon-ios-drag:before{content:"\f421"}.um-icon-ios-email:before{content:"\f423"}.um-icon-ios-email-outline:before{content:"\f422"}.um-icon-ios-eye:before{content:"\f425"}.um-icon-ios-eye-outline:before{content:"\f424"}.um-icon-ios-fastforward:before{content:"\f427"}.um-icon-ios-fastforward-outline:before{content:"\f426"}.um-icon-ios-filing:before{content:"\f429"}.um-icon-ios-filing-outline:before{content:"\f428"}.um-icon-ios-film:before{content:"\f42b"}.um-icon-ios-film-outline:before{content:"\f42a"}.um-icon-ios-flag:before{content:"\f42d"}.um-icon-ios-flag-outline:before{content:"\f42c"}.um-icon-ios-flame:before{content:"\f42f"}.um-icon-ios-flame-outline:before{content:"\f42e"}.um-icon-ios-flask:before{content:"\f431"}.um-icon-ios-flask-outline:before{content:"\f430"}.um-icon-ios-flower:before{content:"\f433"}.um-icon-ios-flower-outline:before{content:"\f432"}.um-icon-ios-folder:before{content:"\f435"}.um-icon-ios-folder-outline:before{content:"\f434"}.um-icon-ios-football:before{content:"\f437"}.um-icon-ios-football-outline:before{content:"\f436"}.um-icon-ios-game-controller-a:before{content:"\f439"}.um-icon-ios-game-controller-a-outline:before{content:"\f438"}.um-icon-ios-game-controller-b:before{content:"\f43b"}.um-icon-ios-game-controller-b-outline:before{content:"\f43a"}.um-icon-ios-gear:before{content:"\f43d"}.um-icon-ios-gear-outline:before{content:"\f43c"}.um-icon-ios-glasses:before{content:"\f43f"}.um-icon-ios-glasses-outline:before{content:"\f43e"}.um-icon-ios-grid-view:before{content:"\f441"}.um-icon-ios-grid-view-outline:before{content:"\f440"}.um-icon-ios-heart:before{content:"\f443"}.um-icon-ios-heart-outline:before{content:"\f442"}.um-icon-ios-help:before{content:"\f446"}.um-icon-ios-help-empty:before{content:"\f444"}.um-icon-ios-help-outline:before{content:"\f445"}.um-icon-ios-home:before{content:"\f448"}.um-icon-ios-home-outline:before{content:"\f447"}.um-icon-ios-infinite:before{content:"\f44a"}.um-icon-ios-infinite-outline:before{content:"\f449"}.um-icon-ios-information:before{content:"\f44d"}.um-icon-ios-information-empty:before{content:"\f44b"}.um-icon-ios-information-outline:before{content:"\f44c"}.um-icon-ios-ionic-outline:before{content:"\f44e"}.um-icon-ios-keypad:before{content:"\f450"}.um-icon-ios-keypad-outline:before{content:"\f44f"}.um-icon-ios-lightbulb:before{content:"\f452"}.um-icon-ios-lightbulb-outline:before{content:"\f451"}.um-icon-ios-list:before{content:"\f454"}.um-icon-ios-list-outline:before{content:"\f453"}.um-icon-ios-location:before{content:"\f456"}.um-icon-ios-location-outline:before{content:"\f455"}.um-icon-ios-locked:before{content:"\f458"}.um-icon-ios-locked-outline:before{content:"\f457"}.um-icon-ios-loop:before{content:"\f45a"}.um-icon-ios-loop-strong:before{content:"\f459"}.um-icon-ios-medical:before{content:"\f45c"}.um-icon-ios-medical-outline:before{content:"\f45b"}.um-icon-ios-medkit:before{content:"\f45e"}.um-icon-ios-medkit-outline:before{content:"\f45d"}.um-icon-ios-mic:before{content:"\f461"}.um-icon-ios-mic-off:before{content:"\f45f"}.um-icon-ios-mic-outline:before{content:"\f460"}.um-icon-ios-minus:before{content:"\f464"}.um-icon-ios-minus-empty:before{content:"\f462"}.um-icon-ios-minus-outline:before{content:"\f463"}.um-icon-ios-monitor:before{content:"\f466"}.um-icon-ios-monitor-outline:before{content:"\f465"}.um-icon-ios-moon:before{content:"\f468"}.um-icon-ios-moon-outline:before{content:"\f467"}.um-icon-ios-more:before{content:"\f46a"}.um-icon-ios-more-outline:before{content:"\f469"}.um-icon-ios-musical-note:before{content:"\f46b"}.um-icon-ios-musical-notes:before{content:"\f46c"}.um-icon-ios-navigate:before{content:"\f46e"}.um-icon-ios-navigate-outline:before{content:"\f46d"}.um-icon-ios-nutrition:before{content:"\f470"}.um-icon-ios-nutrition-outline:before{content:"\f46f"}.um-icon-ios-paper:before{content:"\f472"}.um-icon-ios-paper-outline:before{content:"\f471"}.um-icon-ios-paperplane:before{content:"\f474"}.um-icon-ios-paperplane-outline:before{content:"\f473"}.um-icon-ios-partlysunny:before{content:"\f476"}.um-icon-ios-partlysunny-outline:before{content:"\f475"}.um-icon-ios-pause:before{content:"\f478"}.um-icon-ios-pause-outline:before{content:"\f477"}.um-icon-ios-paw:before{content:"\f47a"}.um-icon-ios-paw-outline:before{content:"\f479"}.um-icon-ios-people:before{content:"\f47c"}.um-icon-ios-people-outline:before{content:"\f47b"}.um-icon-ios-person:before{content:"\f47e"}.um-icon-ios-person-outline:before{content:"\f47d"}.um-icon-ios-personadd:before{content:"\f480"}.um-icon-ios-personadd-outline:before{content:"\f47f"}.um-icon-ios-photos:before{content:"\f482"}.um-icon-ios-photos-outline:before{content:"\f481"}.um-icon-ios-pie:before{content:"\f484"}.um-icon-ios-pie-outline:before{content:"\f483"}.um-icon-ios-pint:before{content:"\f486"}.um-icon-ios-pint-outline:before{content:"\f485"}.um-icon-ios-play:before{content:"\f488"}.um-icon-ios-play-outline:before{content:"\f487"}.um-icon-ios-plus:before{content:"\f48b"}.um-icon-ios-plus-empty:before{content:"\f489"}.um-icon-ios-plus-outline:before{content:"\f48a"}.um-icon-ios-pricetag:before{content:"\f48d"}.um-icon-ios-pricetag-outline:before{content:"\f48c"}.um-icon-ios-pricetags:before{content:"\f48f"}.um-icon-ios-pricetags-outline:before{content:"\f48e"}.um-icon-ios-printer:before{content:"\f491"}.um-icon-ios-printer-outline:before{content:"\f490"}.um-icon-ios-pulse:before{content:"\f493"}.um-icon-ios-pulse-strong:before{content:"\f492"}.um-icon-ios-rainy:before{content:"\f495"}.um-icon-ios-rainy-outline:before{content:"\f494"}.um-icon-ios-recording:before{content:"\f497"}.um-icon-ios-recording-outline:before{content:"\f496"}.um-icon-ios-redo:before{content:"\f499"}.um-icon-ios-redo-outline:before{content:"\f498"}.um-icon-ios-refresh:before{content:"\f49c"}.um-icon-ios-refresh-empty:before{content:"\f49a"}.um-icon-ios-refresh-outline:before{content:"\f49b"}.um-icon-ios-reload:before{content:"\f49d"}.um-icon-ios-reverse-camera:before{content:"\f49f"}.um-icon-ios-reverse-camera-outline:before{content:"\f49e"}.um-icon-ios-rewind:before{content:"\f4a1"}.um-icon-ios-rewind-outline:before{content:"\f4a0"}.um-icon-ios-rose:before{content:"\f4a3"}.um-icon-ios-rose-outline:before{content:"\f4a2"}.um-icon-ios-search:before{content:"\f4a5"}.um-icon-ios-search-strong:before{content:"\f4a4"}.um-icon-ios-settings:before{content:"\f4a7"}.um-icon-ios-settings-strong:before{content:"\f4a6"}.um-icon-ios-shuffle:before{content:"\f4a9"}.um-icon-ios-shuffle-strong:before{content:"\f4a8"}.um-icon-ios-skipbackward:before{content:"\f4ab"}.um-icon-ios-skipbackward-outline:before{content:"\f4aa"}.um-icon-ios-skipforward:before{content:"\f4ad"}.um-icon-ios-skipforward-outline:before{content:"\f4ac"}.um-icon-ios-snowy:before{content:"\f4ae"}.um-icon-ios-speedometer:before{content:"\f4b0"}.um-icon-ios-speedometer-outline:before{content:"\f4af"}.um-icon-ios-star:before{content:"\f4b3"}.um-icon-ios-star-half:before{content:"\f4b1"}.um-icon-ios-star-outline:before{content:"\f4b2"}.um-icon-ios-stopwatch:before{content:"\f4b5"}.um-icon-ios-stopwatch-outline:before{content:"\f4b4"}.um-icon-ios-sunny:before{content:"\f4b7"}.um-icon-ios-sunny-outline:before{content:"\f4b6"}.um-icon-ios-telephone:before{content:"\f4b9"}.um-icon-ios-telephone-outline:before{content:"\f4b8"}.um-icon-ios-tennisball:before{content:"\f4bb"}.um-icon-ios-tennisball-outline:before{content:"\f4ba"}.um-icon-ios-thunderstorm:before{content:"\f4bd"}.um-icon-ios-thunderstorm-outline:before{content:"\f4bc"}.um-icon-ios-time:before{content:"\f4bf"}.um-icon-ios-time-outline:before{content:"\f4be"}.um-icon-ios-timer:before{content:"\f4c1"}.um-icon-ios-timer-outline:before{content:"\f4c0"}.um-icon-ios-toggle:before{content:"\f4c3"}.um-icon-ios-toggle-outline:before{content:"\f4c2"}.um-icon-ios-trash:before{content:"\f4c5"}.um-icon-ios-trash-outline:before{content:"\f4c4"}.um-icon-ios-undo:before{content:"\f4c7"}.um-icon-ios-undo-outline:before{content:"\f4c6"}.um-icon-ios-unlocked:before{content:"\f4c9"}.um-icon-ios-unlocked-outline:before{content:"\f4c8"}.um-icon-ios-upload:before{content:"\f4cb"}.um-icon-ios-upload-outline:before{content:"\f4ca"}.um-icon-ios-videocam:before{content:"\f4cd"}.um-icon-ios-videocam-outline:before{content:"\f4cc"}.um-icon-ios-volume-high:before{content:"\f4ce"}.um-icon-ios-volume-low:before{content:"\f4cf"}.um-icon-ios-wineglass:before{content:"\f4d1"}.um-icon-ios-wineglass-outline:before{content:"\f4d0"}.um-icon-ios-world:before{content:"\f4d3"}.um-icon-ios-world-outline:before{content:"\f4d2"}.um-icon-ipad:before{content:"\f1f9"}.um-icon-iphone:before{content:"\f1fa"}.um-icon-ipod:before{content:"\f1fb"}.um-icon-jet:before{content:"\f295"}.um-icon-key:before{content:"\f296"}.um-icon-knife:before{content:"\f297"}.um-icon-laptop:before{content:"\f1fc"}.um-icon-leaf:before{content:"\f1fd"}.um-icon-levels:before{content:"\f298"}.um-icon-lightbulb:before{content:"\f299"}.um-icon-link:before{content:"\f1fe"}.um-icon-load-a:before{content:"\f29a"}.um-icon-load-b:before{content:"\f29b"}.um-icon-load-c:before{content:"\f29c"}.um-icon-load-d:before{content:"\f29d"}.um-icon-location:before{content:"\f1ff"}.um-icon-lock-combination:before{content:"\f4d4"}.um-icon-locked:before{content:"\f200"}.um-icon-log-in:before{content:"\f29e"}.um-icon-log-out:before{content:"\f29f"}.um-icon-loop:before{content:"\f201"}.um-icon-magnet:before{content:"\f2a0"}.um-icon-male:before{content:"\f2a1"}.um-icon-man:before{content:"\f202"}.um-icon-map:before{content:"\f203"}.um-icon-medkit:before{content:"\f2a2"}.um-icon-merge:before{content:"\f33f"}.um-icon-mic-a:before{content:"\f204"}.um-icon-mic-b:before{content:"\f205"}.um-icon-mic-c:before{content:"\f206"}.um-icon-minus:before{content:"\f209"}.um-icon-minus-circled:before{content:"\f207"}.um-icon-minus-round:before{content:"\f208"}.um-icon-model-s:before{content:"\f2c1"}.um-icon-monitor:before{content:"\f20a"}.um-icon-more:before{content:"\f20b"}.um-icon-mouse:before{content:"\f340"}.um-icon-music-note:before{content:"\f20c"}.um-icon-navicon:before{content:"\f20e"}.um-icon-navicon-round:before{content:"\f20d"}.um-icon-navigate:before{content:"\f2a3"}.um-icon-network:before{content:"\f341"}.um-icon-no-smoking:before{content:"\f2c2"}.um-icon-nuclear:before{content:"\f2a4"}.um-icon-outlet:before{content:"\f342"}.um-icon-paintbrush:before{content:"\f4d5"}.um-icon-paintbucket:before{content:"\f4d6"}.um-icon-paper-airplane:before{content:"\f2c3"}.um-icon-paperclip:before{content:"\f20f"}.um-icon-pause:before{content:"\f210"}.um-icon-person:before{content:"\f213"}.um-icon-person-add:before{content:"\f211"}.um-icon-person-stalker:before{content:"\f212"}.um-icon-pie-graph:before{content:"\f2a5"}.um-icon-pin:before{content:"\f2a6"}.um-icon-pinpoint:before{content:"\f2a7"}.um-icon-pizza:before{content:"\f2a8"}.um-icon-plane:before{content:"\f214"}.um-icon-planet:before{content:"\f343"}.um-icon-play:before{content:"\f215"}.um-icon-playstation:before{content:"\f30a"}.um-icon-plus:before{content:"\f218"}.um-icon-plus-circled:before{content:"\f216"}.um-icon-plus-round:before{content:"\f217"}.um-icon-podium:before{content:"\f344"}.um-icon-pound:before{content:"\f219"}.um-icon-power:before{content:"\f2a9"}.um-icon-pricetag:before{content:"\f2aa"}.um-icon-pricetags:before{content:"\f2ab"}.um-icon-printer:before{content:"\f21a"}.um-icon-pull-request:before{content:"\f345"}.um-icon-qr-scanner:before{content:"\f346"}.um-icon-quote:before{content:"\f347"}.um-icon-radio-waves:before{content:"\f2ac"}.um-icon-record:before{content:"\f21b"}.um-icon-refresh:before{content:"\f21c"}.um-icon-reply:before{content:"\f21e"}.um-icon-reply-all:before{content:"\f21d"}.um-icon-ribbon-a:before{content:"\f348"}.um-icon-ribbon-b:before{content:"\f349"}.um-icon-sad:before{content:"\f34a"}.um-icon-sad-outline:before{content:"\f4d7"}.um-icon-scissors:before{content:"\f34b"}.um-icon-search:before{content:"\f21f"}.um-icon-settings:before{content:"\f2ad"}.um-icon-share:before{content:"\f220"}.um-icon-shuffle:before{content:"\f221"}.um-icon-skip-backward:before{content:"\f222"}.um-icon-skip-forward:before{content:"\f223"}.um-icon-social-android:before{content:"\f225"}.um-icon-social-android-outline:before{content:"\f224"}.um-icon-social-angular:before{content:"\f4d9"}.um-icon-social-angular-outline:before{content:"\f4d8"}.um-icon-social-apple:before{content:"\f227"}.um-icon-social-apple-outline:before{content:"\f226"}.um-icon-social-bitcoin:before{content:"\f2af"}.um-icon-social-bitcoin-outline:before{content:"\f2ae"}.um-icon-social-buffer:before{content:"\f229"}.um-icon-social-buffer-outline:before{content:"\f228"}.um-icon-social-chrome:before{content:"\f4db"}.um-icon-social-chrome-outline:before{content:"\f4da"}.um-icon-social-codepen:before{content:"\f4dd"}.um-icon-social-codepen-outline:before{content:"\f4dc"}.um-icon-social-css3:before{content:"\f4df"}.um-icon-social-css3-outline:before{content:"\f4de"}.um-icon-social-designernews:before{content:"\f22b"}.um-icon-social-designernews-outline:before{content:"\f22a"}.um-icon-social-dribbble:before{content:"\f22d"}.um-icon-social-dribbble-outline:before{content:"\f22c"}.um-icon-social-dropbox:before{content:"\f22f"}.um-icon-social-dropbox-outline:before{content:"\f22e"}.um-icon-social-euro:before{content:"\f4e1"}.um-icon-social-euro-outline:before{content:"\f4e0"}.um-icon-social-facebook:before{content:"\f231"}.um-icon-social-facebook-outline:before{content:"\f230"}.um-icon-social-foursquare:before{content:"\f34d"}.um-icon-social-foursquare-outline:before{content:"\f34c"}.um-icon-social-freebsd-devil:before{content:"\f2c4"}.um-icon-social-github:before{content:"\f233"}.um-icon-social-github-outline:before{content:"\f232"}.um-icon-social-google:before{content:"\f34f"}.um-icon-social-google-outline:before{content:"\f34e"}.um-icon-social-googleplus:before{content:"\f235"}.um-icon-social-googleplus-outline:before{content:"\f234"}.um-icon-social-hackernews:before{content:"\f237"}.um-icon-social-hackernews-outline:before{content:"\f236"}.um-icon-social-html5:before{content:"\f4e3"}.um-icon-social-html5-outline:before{content:"\f4e2"}.um-icon-social-instagram:before{content:"\f351"}.um-icon-social-instagram-outline:before{content:"\f350"}.um-icon-social-javascript:before{content:"\f4e5"}.um-icon-social-javascript-outline:before{content:"\f4e4"}.um-icon-social-linkedin:before{content:"\f239"}.um-icon-social-linkedin-outline:before{content:"\f238"}.um-icon-social-markdown:before{content:"\f4e6"}.um-icon-social-nodejs:before{content:"\f4e7"}.um-icon-social-octocat:before{content:"\f4e8"}.um-icon-social-pinterest:before{content:"\f2b1"}.um-icon-social-pinterest-outline:before{content:"\f2b0"}.um-icon-social-python:before{content:"\f4e9"}.um-icon-social-reddit:before{content:"\f23b"}.um-icon-social-reddit-outline:before{content:"\f23a"}.um-icon-social-rss:before{content:"\f23d"}.um-icon-social-rss-outline:before{content:"\f23c"}.um-icon-social-sass:before{content:"\f4ea"}.um-icon-social-skype:before{content:"\f23f"}.um-icon-social-skype-outline:before{content:"\f23e"}.um-icon-social-snapchat:before{content:"\f4ec"}.um-icon-social-snapchat-outline:before{content:"\f4eb"}.um-icon-social-tumblr:before{content:"\f241"}.um-icon-social-tumblr-outline:before{content:"\f240"}.um-icon-social-tux:before{content:"\f2c5"}.um-icon-social-twitch:before{content:"\f4ee"}.um-icon-social-twitch-outline:before{content:"\f4ed"}.um-icon-social-twitter:before{content:"\f243"}.um-icon-social-twitter-outline:before{content:"\f242"}.um-icon-social-usd:before{content:"\f353"}.um-icon-social-usd-outline:before{content:"\f352"}.um-icon-social-vimeo:before{content:"\f245"}.um-icon-social-vimeo-outline:before{content:"\f244"}.um-icon-social-whatsapp:before{content:"\f4f0"}.um-icon-social-whatsapp-outline:before{content:"\f4ef"}.um-icon-social-windows:before{content:"\f247"}.um-icon-social-windows-outline:before{content:"\f246"}.um-icon-social-wordpress:before{content:"\f249"}.um-icon-social-wordpress-outline:before{content:"\f248"}.um-icon-social-yahoo:before{content:"\f24b"}.um-icon-social-yahoo-outline:before{content:"\f24a"}.um-icon-social-yen:before{content:"\f4f2"}.um-icon-social-yen-outline:before{content:"\f4f1"}.um-icon-social-youtube:before{content:"\f24d"}.um-icon-social-youtube-outline:before{content:"\f24c"}.um-icon-soup-can:before{content:"\f4f4"}.um-icon-soup-can-outline:before{content:"\f4f3"}.um-icon-speakerphone:before{content:"\f2b2"}.um-icon-speedometer:before{content:"\f2b3"}.um-icon-spoon:before{content:"\f2b4"}.um-icon-star:before{content:"\f24e"}.um-icon-stats-bars:before{content:"\f2b5"}.um-icon-steam:before{content:"\f30b"}.um-icon-stop:before{content:"\f24f"}.um-icon-thermometer:before{content:"\f2b6"}.um-icon-thumbsdown:before{content:"\f250"}.um-icon-thumbsup:before{content:"\f251"}.um-icon-toggle:before{content:"\f355"}.um-icon-toggle-filled:before{content:"\f354"}.um-icon-transgender:before{content:"\f4f5"}.um-icon-trash-a:before{content:"\f252"}.um-icon-trash-b:before{content:"\f253"}.um-icon-trophy:before{content:"\f356"}.um-icon-tshirt:before{content:"\f4f7"}.um-icon-tshirt-outline:before{content:"\f4f6"}.um-icon-umbrella:before{content:"\f2b7"}.um-icon-university:before{content:"\f357"}.um-icon-unlocked:before{content:"\f254"}.um-icon-upload:before{content:"\f255"}.um-icon-usb:before{content:"\f2b8"}.um-icon-videocamera:before{content:"\f256"}.um-icon-volume-high:before{content:"\f257"}.um-icon-volume-low:before{content:"\f258"}.um-icon-volume-medium:before{content:"\f259"}.um-icon-volume-mute:before{content:"\f25a"}.um-icon-wand:before{content:"\f358"}.um-icon-waterdrop:before{content:"\f25b"}.um-icon-wifi:before{content:"\f25c"}.um-icon-wineglass:before{content:"\f2b9"}.um-icon-woman:before{content:"\f25d"}.um-icon-wrench:before{content:"\f2ba"}.um-icon-xbox:before{content:"\f30c"}.um{width:100%;text-align:left;box-sizing:border-box;color:#666;font-size:15px;margin-bottom:30px!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;opacity:0}.um-s1,.um-s2{display:none}.um *,.um :after,.um :before{box-sizing:content-box}.um-account-side li a,.um-cover a,.um-field-value a,.um-header a,.um-member-less a,.um-member-more a,.um-member-name a,.um-member-photo a,.um-members a,.um-members-pagi a,.um-members-pagi span{border-bottom:0!important}.um a:focus,.um-modal a:focus{outline:0!important}.um a .image-overlay,.um a:hover .image-overlay,.um a:hover .image-overlay *{display:none!important;width:0!important;height:0!important;position:static!important}.um.um-in-admin{padding-top:0}.um.um-in-admin .um-tip{display:none!important}.um input,.um select,.um textarea{font-size:15px}.um *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.um-left{float:left}.um-right{float:right}.um-clear{clear:both}.um-center{text-align:center}.um-center .um-button{display:inline-block!important;width:auto!important;min-width:250px!important}.um-half{width:48%}.um-field-half{width:48%;float:left}.um-field-half.right{float:right}.um-field-tri{width:30%;float:left;margin-right:3%}.um img{box-shadow:none!important}.um-col{padding-bottom:20px}.um-col-alt{margin:0 0 5px}.um-col-alt-s{padding-top:10px}.um-col-alt-b{padding-top:20px}.um-col-121{float:left;width:48%}.um-col-122{float:right;width:48%}.um-col-131{float:left;width:30%}.um-col-132{float:left;width:30%;margin:0 5%}.um-col-133{float:left;width:30%}.um-raty i{font-size:26px}.um-field-half .um-raty i,.um-field-tri .um-raty i{font-size:21px}.um-button i{font-size:22px;width:22px;height:12px!important;display:inline-block;line-height:12px!important;vertical-align:middle!important;position:relative;top:-6px;margin-right:8px}.um-row-heading{padding:5px 0;font-size:16px}.um-row-heading i{font-size:24px;height:24px;line-height:24px;margin:0 12px 0 0;display:inline-block;width:30px;text-align:center}.um-row-heading i:before{vertical-align:middle!important}p.um-notice{width:auto;color:#fff;box-sizing:border-box;font-size:15px;padding:12px!important;margin:12px 0 0!important;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;position:relative}p.um-notice i{position:absolute;right:14px;font-size:36px;cursor:pointer;top:7px;display:block;height:30px;line-height:30px}p.um-notice.success{background:#7ACF58}p.um-notice.err{background:#C74A4A}p.um-notice.warning{background:#f9f9d1;color:#666;border:1px solid #efe4a2;padding:8px 15px!important}.um-field-error{width:auto;max-width:100%;background:#C74A4A;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;color:#fff;box-sizing:border-box;position:relative;padding:12px;font-size:14px;line-height:20px!important;margin:12px 0 0}.um-field-error a{color:#fff!important;text-decoration:underline!important}.um-field-arrow{top:-17px;left:10px;position:absolute;z-index:900;color:#C74A4A;font-size:28px;line-height:1em!important}.um-error-block{width:auto;max-width:100%;background:#C74A4A;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;color:#fff;box-sizing:border-box;position:relative;padding:12px;font-size:14px;line-height:1em!important;margin:12px 0 0}.um-tip{margin:0 0 0 8px;cursor:pointer;display:inline-block;position:relative;top:3px}.um-tip i{font-size:22px;height:22px;line-height:22px;display:block;position:relative}.um-tip-text{display:block;font-size:13px;line-height:15px;color:#999}.um-form button::-moz-focus-inner,.um-form input::-moz-focus-inner{border:0!important;padding:0!important}.um-field{position:relative;padding:15px 0 0}.um-field-b,.um-field-c{padding-top:0!important}.um-field.um-is-conditional{display:none}.um-field-label{display:block;margin:0 0 8px}.um-field-label .um-field-label-icon{float:left;margin:0 8px 0 0;height:22px;line-height:18px;display:inline-block;width:24px;text-align:center}.um-field-label .um-field-label-icon i{font-size:22px;position:relative;top:1px}.um-field-label label{font-size:15px!important;line-height:22px!important;font-weight:700;font-weight:600}.um-field-area{position:relative;word-wrap:break-word}.um-field-value p{margin:0 0 6px 0!important;padding:0}.um-field-block{color:#777;font-size:17px}.um-field-spacing{width:100%}.um-field-divider{width:100%;margin:0 0 12px;height:24px;position:relative}.um-field-divider-text{position:absolute;width:100%;text-align:center;bottom:-24px;left:0;font-size:16px;padding:10px 0}.um-field-divider-text span{background:#fff;color:#555;display:inline-block;padding:0 15px}.um-field-icon{position:absolute;cursor:default;text-align:center!important;top:2px;left:0;width:44px;font-size:22px;line-height:1.7em}.um-form input[type=password],.um-form input[type=text]{padding:0 12px!important;width:100%;display:block!important;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;cursor:text!important;font-size:15px!important;height:40px!important;box-sizing:border-box!important;box-shadow:none!important;margin:0!important;position:static;outline:0!important}.um-form input[type=password]:focus,.um-form input[type=text]:focus,.um-form textarea:focus{box-shadow:none!important;outline:0!important}.um-form input[type=password].um-iconed,.um-form input[type=text].um-iconed{padding-left:44px!important}.um-form input[type=password].um-error,.um-form input[type=text].um-error{border-color:#C74A4A!important}.um-form textarea{width:100%;padding:8px 12px!important;display:block;font-size:15px!important;line-height:22px!important;background:#fff;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;box-sizing:border-box;min-height:80px!important;box-shadow:none;outline:0!important}.um-field-c .um-field-checkbox{margin:0!important;position:relative;top:-14px}.um-field-checkbox,.um-field-radio{display:block;margin:8px 0;position:relative;cursor:pointer!important}.um-field-checkbox:hover i,.um-field-radio:hover i{color:#666}.um-field-checkbox input,.um-field-radio input{opacity:0!important;display:inline!important;width:0!important;float:left}.um-field-checkbox-state,.um-field-radio-state{position:absolute;top:0;left:1px;width:24px;height:24px}.um-field-checkbox-state i,.um-field-radio-state i{font-size:24px;line-height:24px;height:24px;color:#aaa;transition:all .2s linear}.um-field-checkbox-option,.um-field-radio-option{margin:0px 0px 0px 36px;line-height:24px;color:#888!important;display:block}.um-field-group{margin-top:20px}.um-field-group-head{cursor:pointer;color:#fff;font-size:16px;line-height:22px;padding:10px 20px;transition:.25s;box-sizing:border-box;-moz-border-radius:4px!important;-webkit-border-radius:4px!important;border-radius:4px!important;border-top:1px solid rgba(0,0,0,0)!important;border-bottom:2px solid rgba(0,0,0,.1)!important}.um-field-group-head i{font-size:20px;margin:0 8px 0 0}.um-field-group-head i:before{vertical-align:middle!important}.um-field-group-body{display:none;margin:15px 0 0;padding:15px 20px 5px;background:#f9f9f9;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;position:relative;box-sizing:border-box;width:100%}.um-field-group-body div.um-field{padding:0 0 15px}.um-field-group-cancel{font-size:18px;position:absolute;z-index:800;right:8px;top:8px;color:#ccc!important;text-decoration:none!important}.um-field-group-cancel:hover{color:#777!important}.um div.disabled,.um-disabled,.um input[type=submit]:disabled,.um input[type=text]:disabled{opacity:.6!important;cursor:no-drop!important}input[type=submit].um-button,input[type=submit].um-button:focus{vertical-align:middle!important;height:auto!important;font-size:15px;cursor:pointer!important;width:100%;box-shadow:none;text-shadow:none;font-family:inherit;outline:0!important;margin:0;opacity:1;-webkit-appearance:none}input[type=submit].um-button:hover{opacity:1}.um-button{font-size:15px;border:none!important;display:block;width:100%;line-height:1em!important;padding:16px 20px!important;text-decoration:none!important;text-align:center;text-transform:none!important;font-weight:400!important;overflow:hidden;position:relative;transition:.25s;box-sizing:border-box;-moz-border-radius:4px!important;-webkit-border-radius:4px!important;border-radius:4px!important;border-top:1px solid rgba(0,0,0,0)!important;border-bottom:2px solid rgba(0,0,0,.1)!important;opacity:1}.um-button.um-btn-auto-width{width:auto;display:inline-block;padding:14px 20px!important;min-width:200px;max-width:450px}a.um-link-alt{line-height:22px;color:#888!important;display:block!important;text-decoration:none!important;font-weight:400;text-align:center;border-bottom:none!important}a.um-link-alt:hover{text-decoration:underline!important}.um-dropdown{position:absolute;height:auto;background:#fff;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;z-index:10;display:none;border:1px solid #e5e5e5;box-sizing:border-box;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1);box-shadow:0 0 1px rgba(0,0,0,.1)}.um-dropdown li,.um-dropdown ul{list-style-type:none!important;padding:0!important;margin:0!important}.um-dropdown li a{display:block;padding:8px 12px;color:#666;font-size:14px;line-height:18px}.um-dropdown li:last-child a{border-top:1px solid #e5e5e5;padding:12px}.um-dropdown-b{position:relative}.um-dropdown-arr{position:absolute;font-size:24px;width:24px;height:24px;overflow:hidden;z-index:15;color:#eee}.um-dropdown-arr *{display:block!important;width:24px!important;height:24px!important;vertical-align:bottom!important;overflow:hidden!important;line-height:24px!important}div.um-photo{margin:20px auto 0;text-align:center;box-sizing:border-box;max-width:100%}div.um-photo,div.um-photo a,div.um-photo img{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}div.um-photo a{border:1px solid #e5e5e5;padding:5px;box-sizing:border-box;display:inline-block;box-shadow:0 1px 1px #eee;margin:0 auto;max-width:100%}div.um-photo img{max-height:300px;max-width:100%}span.um-req{margin:0 0 0 8px;font-size:14px;display:inline-block}.picker{font-size:16px;text-align:left;line-height:1.2;color:#fff;position:absolute;z-index:10000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.picker__input{cursor:default}.picker__input.picker__input--active{border-color:#0089ec}.picker__holder{width:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}.picker__frame,.picker__holder{bottom:0;left:0;right:0;top:100%}.picker__holder{position:fixed;-webkit-transition:background .15s ease-out,top 0s .15s;-moz-transition:background .15s ease-out,top 0s .15s;transition:background .15s ease-out,top 0s .15s}.picker__frame{position:absolute;margin:0 auto;min-width:256px;max-width:400px;width:100%;-ms-filter:"alpha(Opacity=0)";filter:alpha(opacity=0);-moz-opacity:0;opacity:0;-webkit-transition:all .15s ease-out;-moz-transition:all .15s ease-out;transition:all .15s ease-out}@media (min-height:33.875em){.picker__frame{overflow:visible;top:auto;bottom:-100%;max-height:80%}}@media (min-height:40.125em){.picker__frame{margin-bottom:15%!important}}.picker__wrap{display:table;width:100%;height:100%}@media (min-height:33.875em){.picker__wrap{display:block}}.picker__box{display:table-cell;vertical-align:middle}@media (min-height:33.875em){.picker__box{display:block;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}}@media (min-height:40.125em){.picker__box{border-bottom-width:1px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}}.picker--opened .picker__holder{top:0;zoom:1;background:rgba(0,0,0,.7);-webkit-transition:background .15s ease-out;-moz-transition:background .15s ease-out;transition:background .15s ease-out}.picker--opened .picker__frame{top:0;-ms-filter:"alpha(Opacity=100)";filter:alpha(opacity=100);-moz-opacity:1;opacity:1}@media (min-height:33.875em){.picker--opened .picker__frame{top:auto;bottom:0}}.picker__header{text-align:center;position:relative;margin-top:.75em;border-radius:2px 2px 0 0;padding:15px 0;font-size:18px}.picker__month,.picker__year{display:inline-block;margin-left:10px;margin-right:10px}.picker__select--month,.picker__select--year{margin-left:.25em;margin-right:.25em;font-size:16px;color:#999;background:#fff!important;outline:0!important;border:0!important}@media (min-width:24.5em){.picker__select--month,.picker__select--year{margin-top:-.5em}}.picker__select--month{width:35%}.picker__select--year{width:22.5%}.picker__nav--next,.picker__nav--prev{position:absolute;padding:.5em 1.25em;width:1em;height:1em;box-sizing:content-box!important;top:8px;color:#fff}.picker__nav--prev{left:0;padding-right:1.25em}@media (min-width:24.5em){.picker__nav--prev{padding-right:1.5em}}.picker__nav--next{right:0;padding-left:1.25em}@media (min-width:24.5em){.picker__nav--next{padding-left:1.5em}}.picker__nav--next:before,.picker__nav--prev:before{content:" ";border-top:.5em solid transparent;border-bottom:.5em solid transparent;border-right:.5em solid #fff;width:0;height:0;display:block;margin:0 auto}.picker__nav--next:before{border-right:0;border-left:.5em solid #fff}.picker__nav--next:hover,.picker__nav--prev:hover{cursor:pointer;color:#fff}.picker__nav--disabled,.picker__nav--disabled:before,.picker__nav--disabled:before:hover,.picker__nav--disabled:hover{cursor:default;background:0 0}.picker__table{text-align:center;border-collapse:collapse;border-spacing:0;table-layout:fixed;font-size:inherit;width:100%;margin-top:5px;border:none;margin-bottom:0}.picker__table td{margin:0;padding:0 10px;text-align:center;border:0}.picker__weekday{width:14.285714286%;color:#fff;text-align:center;padding:5px 0!important}.picker__day{padding:10px 0;line-height:1em!important}.picker__day--today{position:relative}.picker__day--outfocus{opacity:.75}.picker__day--infocus:hover,.picker__day--outfocus:hover{border-radius:2px;cursor:pointer}.picker--focused .picker__day--highlighted,.picker__day--highlighted:hover{border-radius:2px}.picker__day--disabled,.picker__day--disabled:hover{cursor:default;background:transparent!important;opacity:.3}.picker__footer{text-align:center;height:50px!important;line-height:50px!important;margin-top:5px;border-radius:0 0 2px 2px}.picker__button--clear,.picker__button--today{width:50%;display:inline-block;background:none!important;box-shadow:none!important;border:0!important;outline:0!important;box-sizing:border-box!important}.picker__button--clear:focus,.picker__button--clear:hover,.picker__button--today:focus,.picker__button--today:hover{cursor:pointer}.picker__list{list-style:none;list-style:none!important;padding:5px!important;margin:0!important}.picker__list-item{position:relative;border-radius:2px;display:inline-block;width:25%;text-align:center;box-sizing:border-box;padding:6px 0!important;margin:5px 0!important}.picker__list-item:hover{cursor:pointer;z-index:10}.picker__list-item--highlighted{z-index:10}.picker--focused .picker__list-item--highlighted,.picker__list-item--highlighted:hover{cursor:pointer;font-weight:700}.picker--focused .picker__list-item--selected,.picker__list-item--selected,.picker__list-item--selected:hover{z-index:10}.picker--focused .picker__list-item--disabled,.picker__list-item--disabled,.picker__list-item--disabled:hover{color:#a9e792;cursor:default;background:0 0;z-index:auto}.picker--time .picker__button--clear{width:100%;display:inline-block;box-shadow:none!important;border:0!important;outline:0!important;background:none!important;border-radius:0 0 2px 2px;color:#fff!important}.picker--time .picker__button--clear:focus,.picker--time .picker__button--clear:hover{cursor:pointer}.picker--time .picker__frame{min-width:256px;max-width:400px}.picker--time .picker__box{font-size:15px;padding:0;border-radius:2px!important}@media (min-height:40.125em){.picker--time .picker__frame{margin-bottom:10%!important}}.um-members img{display:block;overflow:hidden;-moz-border-radius:0!important;-webkit-border-radius:0!important;border-radius:0!important;margin:0!important;padding:0!important}.um-members a,.um-members a:hover{text-decoration:none!important}.um-members-intro{text-align:center;margin:0 0 20px}.um-members-total{font-size:30px;font-weight:300}.um-members-none{text-align:center;font-size:18px}.um-search{text-align:center;padding:20px 50px}.um-search.um-search-2{padding-left:20%;padding-right:20%;width:100%;box-sizing:border-box}.um-search.um-search-1{padding-left:32%;padding-right:32%;width:100%;box-sizing:border-box}.um-search.um-search-1 .um-search-submit .um-button{display:block!important;min-width:100%!important;margin:0 0 10px!important}.um-search.um-search-1 .um-search-filter{width:100%;padding:0 0 10px;float:none}.um-search.um-search-2 .um-search-filter{width:50%}.um-search-filter{padding:0 15px 30px;display:block;float:left;width:33%;box-sizing:border-box}.um-search-submit .um-button{display:inline-block!important;width:auto!important;padding:12px 20px!important;margin:0 10px!important;min-width:150px!important}.um-members{-ms-word-break:break-all;word-break:break-word;word-wrap:break-word}.um-member{float:left;width:30%;background:#fff;text-align:center;border:1px solid #eee;box-sizing:border-box;margin-bottom:40px;position:relative}.um-member.awaiting_admin_review,.um-member.inactive,.um-member.rejected{opacity:.7}.um-member-status{display:none}.um-member-status.awaiting_admin_review,.um-member-status.inactive,.um-member-status.rejected{display:block;position:absolute;top:0;left:0;width:100%;padding:7px 15px;background:#C74A4A;color:#fff;z-index:10;font-size:13px;box-sizing:border-box}.um-member-status.inactive,.um-member-status.rejected{background:#999}.um-gutter-sizer{width:5%}.um-member-cover{background-color:#eee;box-sizing:border-box;position:relative}.um-member-cover-e{text-align:center;box-sizing:border-box}.um-member-cover-e img{width:100%!important}.um-member-photo{padding:40px 0 20px;text-align:center}.um-member-photo a{display:inline!important}.um-member-photo img{display:inline!important;border:5px solid #fff;background:#fff;width:140px;height:140px;float:none!important}.um-member.with-cover .um-member-photo{padding-top:0}.um-member.with-cover .um-member-photo img{width:90px;height:90px;position:relative;top:-35px;margin-bottom:-45px!important;float:none!important;opacity:1}.um-member-photo.radius-1 img{-moz-border-radius:999px!important;-webkit-border-radius:999px!important;border-radius:999px!important}.um-member-photo.radius-2 img{-moz-border-radius:4px!important;-webkit-border-radius:4px!important;border-radius:4px!important}.um-member-photo.radius-3 img{-moz-border-radius:0!important;-webkit-border-radius:0!important;border-radius:0!important}.um-member-card.no-photo{padding-top:30px}.um-member-card{padding-bottom:15px}.um-member-name{margin:0 0 4px}.um-member-name a{font-size:16px;line-height:26px;color:#444;font-weight:700}.um-member-tagline{font-size:13px;line-height:22px;color:#999;padding:0 15px}.um-member-less{display:none}.um-member-less a,.um-member-more a{color:#666;display:inline-block}.um-member-less i,.um-member-more i{display:block;font-size:32px;height:32px;line-height:32px}.um-member-meta{display:none;margin:20px 15px 0;padding:15px 0;border-top:1px solid #e5e5e5}.um-member-meta.no-animate{display:block}.um-member-metaline{font-size:13px;padding:12px 0 0;line-height:16px;vertical-align:middle}.um-member-metaline span{display:block;text-align:center}.um-member-connect{padding-top:20px}.um-member-connect a{display:inline-block;width:40px;line-height:40px;height:40px;-moz-border-radius:999px;-webkit-border-radius:999px;border-radius:999px;color:#fff!important;opacity:.85;margin:0 1px;font-size:22px;transition:.25s}.um-member-connect a:hover{opacity:1;color:#fff}.um-members-pagi,.um-members-pagidrop{text-align:center;padding:5px 0;font-size:15px}.um-members-pagi span.current,.um-members-pagi span.current:hover{color:#fff!important}.um-members-pagi i:before{font-size:20px;vertical-align:middle!important;height:34px;line-height:34px;top:-2px;position:relative}.um-members-pagi span.disabled{opacity:.4;cursor:default}.um-members-pagi span.none{color:#aaa!important}.um-members-pagi span{cursor:default}.um-members-pagi a,.um-members-pagi span{display:inline-block;width:auto;height:34px;line-height:34px;transition:all .2s linear;padding:0 14px;color:#666!important;font-weight:400}.um-members-pagi a:hover{text-decoration:none!important}.um-popup-overlay{background:rgba(0,0,0,0.7);width:100%;height:100%;position:fixed;top:0;left:0;z-index:1999992}.um-popup *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.um-popup{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;position:fixed;left:50%;top:10%;margin-left:-250px;width:500px;background:#fff;box-shadow:0 1px 3px #111;z-index:1999993;box-sizing:border-box;overflow:auto;color:#888;padding:0!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.um-popup.loading{background:#fff url(../img/loading.gif) no-repeat center;min-height:100px}.um-popup a{outline:none!important}.um-modal-overlay{background:rgba(0,0,0,0.85);width:100%;height:100%;position:fixed;top:0;left:0;z-index:1999992}.um-modal *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.um-modal-hidden-content{display:none}.um-modal-close{display:block;position:fixed;right:0;top:0;font-size:24px;text-decoration:none!important;color:#fff!important;padding:0 10px}.um-modal{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;position:fixed;left:50%;display:none;z-index:1999993;box-sizing:border-box;bottom:-50px}.um-modal.normal{width:500px;margin-left:-250px}.um-modal.large{width:730px;margin-left:-365px}.um-modal.small{width:400px;margin-left:-200px}.um-modal-body{min-height:3px;padding:20px;box-sizing:border-box;width:100%;background:#fff;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}.um-modal-body.photo{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,0.1),0px 0 0 1px rgba(255,255,255,0.12) inset;background:#888;padding:0}.um-modal-body.photo img{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;display:block;overflow:hidden;opacity:0}.um-modal.loading .um-modal-body{background:#fff url(../img/loading.gif) no-repeat center;min-height:150px}.um-modal div.um{margin-bottom:20px!important}.um-modal-header{-moz-border-radius:3px 3px 0 0;-webkit-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;height:44px;line-height:44px;color:#fff;padding:0 20px;box-sizing:border-box;font-size:17px}.um-modal-footer{margin-top:20px}.um-modal-left{float:left}.um-modal-right{float:right}.um-modal-btn.disabled,.um-modal-btn.disabled:hover{opacity:.5;cursor:default!important}.um-modal-btn{cursor:pointer!important;line-height:34px!important;height:34px;display:inline-block;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;padding:0 20px;text-align:center;color:#fff;vertical-align:middle;font-size:14px;box-sizing:border-box;transition:.2s;text-decoration:none!important}.um-modal-btn:hover{background:#44b0ec;color:#fff}.um-modal-btn.alt{color:#666;background:#eee}.um-modal-btn.alt:hover{background:#e5e5e5}.um-profile{box-sizing:border-box}.um-profile .um-cover-overlay{display:none}.um-profile.um-editing .um-cover.has-cover .um-cover-overlay{display:block}.um-profile.um-viewing .um-profile-photo-overlay{display:none}.um-profile img{display:block;overflow:hidden;border-radius:0;margin:0!important}.um-profile a,.um-profile a:hover{text-decoration:none!important}.um-profile .um-profile-body{padding-top:15px;padding-bottom:15px;max-width:600px;margin:auto}.um-profile.um-editing{padding-bottom:15px}.um-profile.um-viewing{padding-bottom:1px}.um-profile.um-viewing .um-field-label{display:block;margin:0 0 8px;border-bottom:solid 2px #eee;padding-bottom:4px}.um-cover{background-color:#eee;box-sizing:border-box;position:relative}.um-cover-add{color:#aaa;font-size:36px;width:100%;display:table}.um-cover-add span{display:table-cell;vertical-align:middle}.um-cover-e{text-align:center;box-sizing:border-box}.um-cover-e img{width:100%!important}.um-cover-overlay{position:absolute;top:0;left:0;background:rgba(0,0,0,.5);text-align:center;box-sizing:border-box;padding:0 40px;color:#fff;text-shadow:0 1px #666;cursor:pointer!important;line-height:21px;font-size:16px;height:100%;width:100%}.um-cover-overlay:hover{background:rgba(0,0,0,.55)}.um-cover-overlay span.um-cover-overlay-s{display:table;height:100%;width:100%}.um-cover-overlay ins{display:table-cell;vertical-align:middle;height:100%;text-decoration:none!important;background:none!important;color:#fff!important;border-bottom:none!important}.um-cover-overlay i{font-size:46px;display:block;margin-bottom:6px}.um-header{position:relative;padding:0 0 25px;border-bottom:solid 2px #eee;min-height:85px;box-sizing:content-box!important}.um-profile-edit{position:absolute;top:15px;right:0;vertical-align:middle;font-size:30px;height:30px;line-height:30px;z-index:66;padding-right:10px}.um-header.no-cover .um-profile-meta{padding-left:0!important;padding-right:0!important;text-align:center!important}.um-header.no-cover .um-name{float:none!important;margin-right:0!important}.um-header.no-cover .um-profile-photo{float:none!important;margin:0 auto!important;text-align:center!important}.um-header.no-cover a.um-profile-photo-img{position:relative!important;top:auto!important;left:auto!important;float:none!important;display:inline-block!important;text-align:center!important}.um-header.no-cover .um-main-meta{padding:0}.um-profile .gravatar{position:static}.um-profile-photo{float:left;position:relative}.um-profile-photo a.um-profile-photo-img{float:left;position:absolute;background:#fff;padding:5px;left:30px}.um-profile-photo a.um-profile-photo-img img{width:100%;height:100%}.um-profile-photo-overlay{position:absolute;top:0;left:0;background:rgba(0,0,0,.5);text-align:center;box-sizing:border-box;padding:0;color:#fff;text-shadow:0 1px #666;cursor:pointer!important;line-height:21px;font-size:16px;height:100%;width:100%}.um-profile-photo-overlay:hover{background:rgba(0,0,0,.55)}.um-profile-photo-overlay span.um-profile-photo-overlay-s{display:table;height:100%;width:100%}.um-profile-photo-overlay ins{display:table-cell;vertical-align:middle;height:100%;text-decoration:none!important;background:none!important;color:#fff!important;border-bottom:none!important}.um-profile-photo-overlay i{font-size:46px;display:block}.um-profile-meta{padding-right:30px;-ms-word-break:break-all;word-break:break-word;word-wrap:break-word}.um-main-meta{padding:10px 0 0}.um-name{float:left;font-size:24px;font-weight:700;margin-right:30px;line-height:1.7em}.um-meta{font-size:15px}.um-meta span a{font-weight:400}.um-meta span:first-child{margin:0 5px 0 0}.um-meta span{margin:0 5px;font-size:14px;display:inline-block}.um-meta span i{font-size:16px;margin:0 5px 0 0}.um-meta-text{margin:6px 0 0;color:#666}.um-meta-text p{margin:0 0 6px 0!important;padding:0!important}.um-profile-status{display:none}.um-profile-status.awaiting_admin_review,.um-profile-status.inactive,.um-profile-status.rejected{display:inline-block;margin:6px 0 0;border-left:3px solid #C74A4A;padding-left:10px;font-size:14px;color:#777}.um-profile-note{display:none;text-align:center;padding-top:20px;color:#666}.um-profile-note i{display:inline-block;font-size:70px;height:70px;line-height:70px}.um-profile-note i.um-faicon-lock{position:relative;top:2px;display:inline-block;font-size:24px;height:auto;line-height:24px;margin-right:10px}.um-profile-note span{margin-top:10px;display:block;font-size:16px;color:#888}.um-profile-note a{border:none!important}.um-profile-note a:hover{text-decoration:underline!important}.um-profile-nav{padding:10px;background:#444;text-align:center}.um-profile-nav-item.active a,.um-profile-nav-item.active a:hover{color:#FFF!important}.um-profile-nav-item.active a span.count{background:0 0;padding:4px 0;color:#fff}.um-profile-nav-item a{color:#fff!important;font-size:14px;font-weight:600;padding:6px 10px 6px 28px;display:block;float:left;border-radius:4px;margin-left:5px;position:relative;border-bottom:0!important}.um-profile-nav-item.without-icon a{padding-left:10px}.um-profile-nav-item.without-icon span.title{padding-left:0}.um-profile-nav-item.without-icon i{display:none}.um-profile-nav-item a:hover{background:#555}.um-profile-nav-item i{font-size:18px;height:18px;line-height:18px;position:absolute;display:block;top:8px;left:10px}.um-profile-nav-item span.title{padding-left:5px}.um-profile-nav-item span.count{font-size:12px;font-weight:300;background:#ddd;color:#666;border-radius:3px;padding:4px 8px;margin-left:3px}.um-profile-subnav{background:#eee;padding:15px;text-align:center}.um-profile-subnav a{display:inline-block;color:#555;font-size:15px;font-weight:600;margin:0 20px;border-bottom:0!important}.um-profile-subnav a:hover{color:#333}.um-profile-subnav span{display:inline-block;margin:0 0 0 8px;background:#ddd;padding:1px 8px;color:#aaa!important;border-radius:2px}.um-item{padding:20px 0;border-bottom:1px solid #eee;position:relative}.um-item-action{position:absolute;right:0;top:16px;width:20px;height:20px;font-size:20px;text-align:center}.um-item-action a{color:#ccc}.um-item-action a:hover{color:#999}.um-item-link{padding-right:40px}.um-item-link a{color:#333;font-size:16px;line-height:20px}.um-item-link a:hover{text-decoration:underline!important}.um-item-link i{font-size:24px;color:#666;margin-right:10px;position:relative;top:3px}.um-item-img{padding:10px 0 0}.um-item-img a{display:inline-block;padding:8px;border-radius:3px;border:1px solid #ddd}.um-item-img a:hover{border-color:#bbb}.um-item-img img{max-width:100%;border-radius:3px}.um-item-meta{color:#888}.um-item-meta span{font-size:13px;font-weight:400;font-style:italic}.um-item-meta span:not(:last-child):after{position:relative;padding:0 4px 0 7px;content:"•"}.um-item-meta a{font-weight:700;border-bottom:1px solid #E0E0E0}.um-item-meta a:hover{border-bottom-color:#bbb}.um-load-items{text-align:center;margin-top:12px;padding-top:30px}.um-load-items.loading{background:url(../img/loading-dots.gif) no-repeat top center}.um-load-items a{max-width:250px;display:inline-block;margin:0 auto}.um-tab-notifier{position:absolute;background:none repeat scroll 0 0 #c65151;right:0;top:0;width:18px;height:18px;border-radius:999px;line-height:18px;top:2px;right:8px;font-size:11px;font-weight:400}@font-face{font-family:raty;font-style:normal;font-weight:400;src:url(../font/raty.eot);src:url(../font/raty.eot?#iefix) format("embedded-opentype");src:url(../font/raty.svg#raty) format("svg");src:url(../font/raty.ttf) format("truetype");src:url(../font/raty.woff) format("woff")}.cancel-off-png,.cancel-on-png,.star-half-png,.star-off-png,.star-on-png{font-family:raty;font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;width:1em;text-align:center;font-variant:normal;text-transform:none;line-height:1em;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-right:.2em;color:#ccc}.star-half-png,.star-on-png{color:#ffbe32}.cancel-on-png:before{content:"\e600"}.cancel-off-png:before{content:"\e601"}.star-on-png:before{content:"\f005"}.star-off-png:before{content:"\f006"}.star-half-png:before{content:"\f123"}.select2-container{margin:0!important;position:relative!important;display:inline-block!important;zoom:1!important;*display:inline!important;vertical-align:middle!important}.select2-container a:hover{color:#666!important}.select2-container,.select2-drop,.select2-search,.select2-search input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.select2-container .select2-choice{display:block!important;height:36px!important;padding:0 0 0 12px!important;overflow:hidden!important;position:relative!important;white-space:nowrap!important;line-height:35px!important;color:#666!important;font-size:15px!important;text-align:left!important;text-decoration:none!important;-moz-border-radius:2px!important;-webkit-border-radius:2px!important;border-radius:2px!important;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:none!important;background-color:#fff!important}.select2-container.select2-drop-above .select2-choice{-moz-border-radius:0 0 2px 2px!important;-webkit-border-radius:0 0 2px 2px!important;border-radius:0 0 2px 2px!important}.select2-container.select2-allowclear .select2-choice .select2-chosen{margin-right:42px}.select2-container .select2-choice>.select2-chosen{margin-right:26px!important;display:block!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important;float:none!important;width:auto!important;font-weight:400}.select2-container .select2-choice abbr{display:none;width:20px!important;height:100%!important;right:24px!important;font-size:1px!important;text-decoration:none!important;border:0!important;background:none!important;cursor:pointer!important;outline:0!important}.select2-container.select2-allowclear .select2-choice abbr{display:inline-block!important}.select2-container .select2-choice abbr:hover{cursor:pointer!important}.select2-drop-mask{border:0!important;margin:0!important;padding:0!important;position:fixed!important;left:0!important;top:0!important;min-height:100%!important;min-width:100%!important;height:auto!important;width:auto!important;opacity:0!important;z-index:1999997!important;background-color:#fff!important;filter:alpha(opacity=0)!important}.select2-drop{width:100%;margin-top:-1px;position:absolute;z-index:1999998!important;top:100%;background:#fff;color:#666;-moz-border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;border-radius:0 0 2px 2px;box-shadow:none}.select2-drop.select2-drop-above{margin-top:1px;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0;box-shadow:none}.select2-drop-active{box-shadow:none!important}.select2-drop-auto-width{width:auto!important}.select2-drop-auto-width .select2-search{padding-top:4px}.select2-container .select2-choice .select2-arrow{display:inline-block!important;width:34px!important;height:100%!important;position:absolute!important;right:0!important;top:0!important;-moz-border-radius:0 2px 2px 0!important;-webkit-border-radius:0 2px 2px 0!important;border-radius:0 2px 2px 0!important;text-align:center!important;background:transparent!important;border-left:0!important}.select2-container .select2-choice .select2-arrow *{line-height:100%!important;vertical-align:middle!important}.select2-container .select2-choice .select2-arrow b{display:block!important;width:100%!important;height:100%!important;background:none!important}.select2-container .select2-choice .select2-arrow:before{content:"\f3d0"!important;font-size:27px!important;font-family:Ionicons!important;width:100%!important;display:block;height:100%;line-height:36px}.select2-container .select2-choice .select2-arrow:hover:before{color:#666!important}.select2-search{display:inline-block!important;width:100%!important;min-height:32px!important;height:32px!important;line-height:1em!important;margin:0!important;padding-left:4px!important;padding-right:4px!important;position:relative!important;z-index:1999999!important;white-space:nowrap!important}.select2-search input[type=text]{background:none!important;width:100%!important;height:32px!important;line-height:auto!important;padding:0 38px 0 7px!important;margin:0!important;outline:0!important;border:1px solid #ddd!important;color:#666!important;-moz-border-radius:2px!important;-webkit-border-radius:2px!important;border-radius:2px!important;font-size:15px!important;box-sizing:border-box!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;box-shadow:none!important}.select2-search:before{content:"\f4a4"!important;font-size:20px!important;height:32px!important;line-height:32px!important;font-family:Ionicons!important;top:0!important;right:10px!important;position:absolute!important}.select2-drop .select2-search{margin-top:4px!important}.select2-search input.select2-active{background:#fff!important}.select2-container-active .select2-choice,.select2-container-active .select2-choices{outline:0!important;box-shadow:none!important}.select2-dropdown-open .select2-choice{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.select2-dropdown-open .select2-choice .select2-arrow{background:transparent!important;filter:none!important;border-color:transparent!important}.select2-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.select2-results{max-height:200px;padding:0 0 0 5px;margin:4px 4px 4px 0;position:relative;overflow-x:hidden;overflow-y:auto;-webkit-tap-highlight-color:rgba(0,0,0,0)}.select2-results ul.select2-result-sub{margin:0;padding-left:0}.select2-results li{list-style:none;display:list-item;background-image:none;font-size:15px;margin:0!important;padding:3px 0!important;color:#666!important}.select2-results li.select2-result-with-children>.select2-result-label{font-weight:700!important}.select2-results .select2-result-label{padding:3px 7px 4px!important;margin:0!important;cursor:pointer;min-height:1em!important;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.select2-results-dept-1 .select2-result-label{padding-left:20px}.select2-results-dept-2 .select2-result-label{padding-left:40px}.select2-results-dept-3 .select2-result-label{padding-left:60px}.select2-results-dept-4 .select2-result-label{padding-left:80px}.select2-results-dept-5 .select2-result-label{padding-left:100px}.select2-results-dept-6 .select2-result-label{padding-left:110px}.select2-results-dept-7 .select2-result-label{padding-left:120px}.select2-results .select2-highlighted{background:none!important;background:#f4f4f4!important;color:#666!important}.select2-results li em{background:#feffde!important;font-style:normal!important}.select2-results .select2-highlighted em{background:transparent!important}.select2-results .select2-highlighted ul{background:#fff!important;color:#666!important}.select2-results .select2-no-results,.select2-results .select2-searching,.select2-results .select2-selection-limit{background:#f4f4f4!important;display:list-item!important;padding:5px!important;font-size:15px!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.select2-results .select2-disabled .select2-result-label,.select2-results .select2-disabled.select2-highlighted .select2-result-label{color:#bbb!important;background:#fff!important;display:list-item!important;cursor:default!important}.select2-results .select2-selected{display:none}.select2-more-results.select2-active{background:#f4f4f4!important}.select2-more-results{background:#f4f4f4!important;display:list-item!important}.select2-container.select2-container-disabled .select2-choice{background-color:#f4f4f4!important;background-image:none!important;border:1px solid #ddd!important;cursor:default!important}.select2-container.select2-container-disabled .select2-choice .select2-arrow{background:none!important;background:#f9f9f9!important;border-left:0!important}.select2-container.select2-container-disabled .select2-choice abbr{display:none!important}.select2-container-multi .select2-choices{height:auto!important;height:1%!important;margin:0!important;padding:1px 3px!important;position:relative!important;cursor:text!important;overflow:hidden!important;-moz-border-radius:2px!important;-webkit-border-radius:2px!important;border-radius:2px!important;box-shadow:none!important}.select2-locked{padding:3px 5px!important}.select2-container-multi .select2-choices{min-height:26px;background-image:none!important}.select2-container-multi.select2-container-active .select2-choices{outline:0;box-shadow:none}.select2-container-multi .select2-choices li{float:left;list-style:none}html[dir=rtl] .select2-container-multi .select2-choices li{float:right}.select2-container-multi .select2-choices .select2-search-field{margin:0;padding:0;white-space:nowrap}.select2-container-multi .select2-choices .select2-search-field input{padding:5px!important;margin:3px 0!important;font-size:100%;height:auto!important;outline:0;border:0!important;-webkit-box-shadow:none;box-shadow:none;background:transparent!important}.select2-container-multi .select2-choices .select2-search-field input.select2-active{background:#fff!important}.select2-container-multi .select2-choices .select2-search-choice{padding:4px 20px 4px 5px!important;margin:6px 0 4px 5px!important;position:relative;line-height:14px;font-size:14px;color:#666;cursor:default;border:1px solid #ddd;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;box-shadow:none!important;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:none!important;background-color:#f9f9f9!important}html[dir=rtl] .select2-container-multi .select2-choices .select2-search-choice{margin-left:0;margin-right:5px}.select2-container-multi .select2-choices .select2-search-choice .select2-chosen{cursor:default}.select2-container-multi .select2-choices .select2-search-choice-focus{background:#f1f1f1}.select2-search-choice-close{position:absolute!important;width:18px!important;height:18px!important;right:0!important;top:0!important;left:auto!important;outline:0!important;background:none!important}.select2-search-choice-close:before{content:"\f2d7"!important;font-size:22px!important;font-family:Ionicons!important;right:4px!important;position:relative!important;display:block;height:100%;width:100%;line-height:36px}.select2-search-choice-close:hover:before{color:#666!important}.select2-container-multi .select2-search-choice-close{text-decoration:none!important;width:21px!important;height:100%!important;text-align:center!important;border-bottom:0!important}.select2-container-multi .select2-search-choice-close:before{font-size:16px!important;right:0!important;line-height:23px!important}.select2-container-multi.select2-container-disabled .select2-choices{background-color:#f4f4f4;background-image:none;border:1px solid #ddd;cursor:default}.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice{padding:3px 5px;border:1px solid #ddd;background-image:none;background-color:#f4f4f4}.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close{display:none;background:0 0}.select2-result-selectable .select2-match,.select2-result-unselectable .select2-match{text-decoration:underline}.select2-offscreen,.select2-offscreen:focus{clip:rect(0 0 0 0)!important;width:1px!important;height:1px!important;border:0!important;margin:0!important;padding:0!important;overflow:hidden!important;position:absolute!important;outline:0!important;left:0!important;top:0!important}.select2-display-none{display:none}.select2-measure-scrollbar{position:absolute;top:-10000px;left:-10000px;width:100px;height:100px;overflow:scroll}.tipsy{padding:5px;position:absolute;z-index:9999999999!important}.tipsy-inner{font-size:13px!important;line-height:17px!important;background-color:#333!important;color:#fff!important;max-width:250px!important;padding:6px 10px!important;text-align:left!important;word-wrap:break-word!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px}.tipsy-arrow{position:absolute!important;width:0!important;height:0!important;line-height:0!important;border:5px dashed #333}.tipsy-arrow-n{border-bottom-color:#333!important}.tipsy-arrow-s{border-top-color:#333!important}.tipsy-arrow-e{border-left-color:#333!important}.tipsy-arrow-w{border-right-color:#333!important}.tipsy-n .tipsy-arrow{top:0;left:50%;margin-left:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.tipsy-nw .tipsy-arrow{top:0;left:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.tipsy-ne .tipsy-arrow{top:0;right:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.tipsy-s .tipsy-arrow{bottom:0;left:50%;margin-left:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.tipsy-sw .tipsy-arrow{bottom:0;left:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.tipsy-se .tipsy-arrow{bottom:0;right:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.tipsy-e .tipsy-arrow{right:0;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent}.tipsy-w .tipsy-arrow{left:0;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent}.um-account p.um-notice{margin:0 0 20px 0!important;padding:12px 15px!important}.um-account a:focus{outline:0!important}.um-account-side{float:left;width:35%;padding:0 30px;box-sizing:border-box}.um-account-main{float:left;width:50%;padding:0 30px;box-sizing:border-box}.um-account-main a{border-bottom:none!important}.um-account-tab{display:none}.um-account-main div.um-account-heading{margin:0!important;font-size:18px;line-height:18px;font-weight:700;color:#555}.um-account-main div.um-account-heading i{margin-right:10px;font-size:26px;position:relative;top:2px}.um-account-main p{margin:20px 0 0!important;padding:0!important}.um-account-main label{font-size:15px}.um-account-meta{text-align:center;margin-bottom:20px}.um-account-meta img{margin:0!important;position:static!important;float:none!important;display:inline-block}.um-account-meta.radius-1 img{-moz-border-radius:999px;-webkit-border-radius:999px;border-radius:999px}.um-account-meta.radius-2 img{-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px}.um-account-meta.radius-3 img{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.um-account-name a{font-weight:700;color:#555!important;text-decoration:none!important;font-size:18px;line-height:2em}.um-account-nav a{display:block;height:44px;line-height:44px;color:#666!important;text-decoration:none!important;position:relative;padding-left:40px;border-bottom:1px solid #eee!important;transition:all .2s linear;font-size:14px}.um-account-nav a.current{font-weight:700}.um-account-nav span.arr{position:absolute;right:0;top:1px;font-size:28px}.um-account-nav span.ico{position:absolute;left:0;top:0;font-size:21px;width:21px;text-align:center}.um-account-side li,.um-account-side ul{margin:0!important;padding:0!important;list-style-type:none!important}.um-account-side li{margin-bottom:1px!important;background:#eee}.um-account-side li a{display:block;padding:4px 0;font-size:14px;height:30px;line-height:20px;color:#999;position:relative}.um-account-side li a span.um-account-arrow{position:absolute;right:10px;top:6px;font-size:26px;opacity:0.6}.um-account-side li a span.um-account-icon,.um-account-side li a.current span.um-account-icon,.um-account-side li a.current:hover span.um-account-icon{text-align:center;font-size:20px;width:20px;height:30px;border-right:1px solid #ccc;color:#444;float:left;padding:0 15px;font-weight:400!important}.um-account-side li a span.um-account-icon i{display:block;height:30px;line-height:30px}.um-account-side li a span.um-account-title{padding-left:20px;float:left;height:30px;line-height:30px;color:#555}.um-account-side li a:hover{color:#444;background:#ddd}.um-account-side li a.current,.um-account-side li a.current:hover{color:#444;font-weight:700;text-decoration:none!important}.cropper-container{position:relative;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.cropper-container img{width:100%;height:100%;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important}.cropper-canvas,.cropper-modal{position:absolute;top:0;right:0;bottom:0;left:0}.cropper-canvas{background-color:#fff;opacity:0;filter:alpha(opacity=0)}.cropper-modal{background-color:#000;opacity:.5;filter:alpha(opacity=50)}.cropper-dragger{position:absolute;top:10%;left:10%;width:80%;height:80%}.cropper-viewer{display:block;width:100%;height:100%;overflow:hidden;outline-width:1px;outline-style:solid;outline-color:#69f;outline-color:rgba(51,102,255,.75)}.cropper-dashed{position:absolute;display:block;border:0 dashed #fff;opacity:.5;filter:alpha(opacity=50)}.cropper-dashed.dashed-h{top:33.3%;left:0;width:100%;height:33.3%;border-top-width:1px;border-bottom-width:1px}.cropper-dashed.dashed-v{top:0;left:33.3%;width:33.3%;height:100%;border-right-width:1px;border-left-width:1px}.cropper-face,.cropper-line,.cropper-point{position:absolute;display:block;width:100%;height:100%;opacity:.1;filter:alpha(opacity=10)}.cropper-face{top:0;left:0;cursor:move;background-color:#fff}.cropper-line{background-color:#69f}.cropper-line.line-e{top:0;right:-3px;width:5px;cursor:e-resize}.cropper-line.line-n{top:-3px;left:0;height:5px;cursor:n-resize}.cropper-line.line-w{top:0;left:-3px;width:5px;cursor:w-resize}.cropper-line.line-s{bottom:-3px;left:0;height:5px;cursor:s-resize}.cropper-point{width:5px;height:5px;background-color:#69f;opacity:.75;filter:alpha(opacity=75)}.cropper-point.point-e{top:50%;right:-3px;margin-top:-3px;cursor:e-resize}.cropper-point.point-n{top:-3px;left:50%;margin-left:-3px;cursor:n-resize}.cropper-point.point-w{top:50%;left:-3px;margin-top:-3px;cursor:w-resize}.cropper-point.point-s{bottom:-3px;left:50%;margin-left:-3px;cursor:s-resize}.cropper-point.point-ne{top:-3px;right:-3px;cursor:ne-resize}.cropper-point.point-nw{top:-3px;left:-3px;cursor:nw-resize}.cropper-point.point-sw{bottom:-3px;left:-3px;cursor:sw-resize}.cropper-point.point-se{right:-3px;bottom:-3px;width:20px;height:20px;cursor:se-resize;opacity:1;filter:alpha(opacity=100)}.cropper-point.point-se:before{position:absolute;right:-50%;bottom:-50%;display:block;width:200%;height:200%;content:" ";background-color:#69f;opacity:0;filter:alpha(opacity=0)}@media (min-width:768px){.cropper-point.point-se{width:15px;height:15px}}@media (min-width:992px){.cropper-point.point-se{width:10px;height:10px}}@media (min-width:1200px){.cropper-point.point-se{width:5px;height:5px;opacity:.75;filter:alpha(opacity=75)}}.cropper-hidden{display:none!important}.cropper-invisible{position:fixed;top:0;left:0;z-index:-1;width:auto!important;max-width:none!important;height:auto!important;max-height:none!important;opacity:0;filter:alpha(opacity=0)}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-canvas,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}.um .um-single-file-preview,.um .um-single-image-preview{margin-bottom:20px}.um .um-single-image-preview>img{max-height:300px;display:inline-block;overflow:hidden;margin:auto;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.um-single-file-preview,.um-single-image-preview{display:none;text-align:center;position:relative}.um-single-file-preview.show,.um-single-image-preview.show{display:block}.um-single-image-preview>img{max-width:100%;max-height:inherit}.um-single-file-preview a.cancel,.um-single-image-preview a.cancel{position:absolute;top:-15px;right:-15px;width:30px;height:30px;-moz-border-radius:999px;-webkit-border-radius:999px;border-radius:999px;background:#ddd;cursor:pointer;text-decoration:none!important;z-index:666;opacity:.75}.um-single-file-preview a.cancel i,.um-single-image-preview a.cancel i{font-size:16px;color:#888;position:relative;display:block;width:100%;height:100%;line-height:30px;overflow:hidden}.um-single-file-preview a.cancel i:before,.um-single-image-preview a.cancel i:before{line-height:inherit}.um-single-fileinfo{padding:26px 0 20px;display:inline-block}.um-single-fileinfo span.icon{font-size:40px;display:inline-block;width:100px;height:70px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-color:#666;color:#fff!important}.um-single-fileinfo span.icon i{display:block;height:70px;line-height:70px;overflow:hidden}.um-single-fileinfo span.icon i:before{line-height:inherit}.um-single-fileinfo span.filename{display:block;font-size:16px;color:#888;padding-top:5px}.um-single-fileinfo a{text-decoration:none!important;opacity:.9}.um-single-fileinfo a:hover{opacity:1}.upload-statusbar{margin:20px 0 0}.upload-filename{display:none!important}.upload-progress{position:relative;width:100%;box-sizing:border-box}.upload-bar{width:0;height:10px;color:#666;background:#7ACF58;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.ajax-upload-dragdrop{width:100%;text-align:center;vertical-align:middle;padding:20px;box-sizing:border-box;border:2px dashed #ddd;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;font-size:18px;line-height:1em}.ajax-upload-dragdrop span.str{display:block;margin:0 0 15px}.ajax-upload-dragdrop span.icon{display:block;font-size:80px;line-height:80px;vertical-align:middle;margin-bottom:10px}.ajax-upload-dragdrop span.help{display:block;font-size:14px;color:#aaa;margin:0 0 12px}.upload{cursor:pointer!important;line-height:34px!important;height:34px;display:inline-block;text-decoration:none;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;padding:0 20px;color:#fff;vertical-align:middle;font-size:14px;box-sizing:border-box;transition:.2s}.upload:hover{background:#44b0ec}.um-modal input[type=file]::-webkit-file-upload-button{cursor:pointer}.uimob340-show,.uimob500-show,.uimob800-show,.uimob960-show{display:none}div.uimob340 .uimob340-show,div.uimob500 .uimob500-show,div.uimob800 .uimob800-show,div.uimob960 .uimob960-show{display:block}div.uimob340 .uimob340-hide,div.uimob500 .uimob500-hide,div.uimob800 .uimob800-hide,div.uimob960 .uimob960-hide{display:none}div.uimob340 .um-item-link a{font-size:14px}div.uimob340 .um-item-meta span{font-size:13px}div.uimob340 .um-load-items a{width:100%!important;max-width:100%!important}div.uimob340 .um-profile-nav{padding:0}div.uimob340 .um-profile-nav-item a{padding:10px 16px;margin-left:0;border-radius:0}div.uimob340 .um-profile-nav-item i{display:block;position:static;top:auto;left:auto}div.uimob340 .um-profile-subnav{padding:8px 15px}div.uimob340 .um-profile-subnav a{display:block;text-align:left;font-size:13px;margin:0;padding:6px 0}div.uimob340 .um-profile-subnav span{font-size:12px;padding:1px 6px}div.uimob340 .um-cover-overlay span.um-cover-overlay-t{display:none!important}div.uimob340 .um-cover-overlay{padding:0}div.uimob340 .um-cover-overlay i,div.uimob340 .um-profile-photo-overlay i{margin-bottom:0;font-size:30px}.um-modal.uimob340{width:100%!important;margin:0!important;left:0!important;height:100%;background:#fff}.um-modal.uimob340,.um-modal.uimob340 .um-modal-body,.um-modal.uimob340 .um-modal-header{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.um-modal.uimob340 .um-modal-header{text-align:center}.um-modal.uimob340 .um-modal-footer{position:absolute;bottom:0;left:0;width:100%;box-sizing:border-box;padding:10px;border-top:1px solid #ddd}.um-modal.uimob340 .um-modal-right{width:100%;float:none}.um-modal.uimob340 .um-modal-footer a.um-modal-btn{width:48%;margin:0 1%;float:left;display:block;line-height:44px!important;height:44px}.um-modal.uimob340 .ajax-upload-dragdrop span.icon{font-size:40px;line-height:40px}div.uimob340 .um-profile-body{padding-left:0;padding-right:0}div.uimob340 .um-profile-photo{width:100%!important;text-align:center!important;position:absolute;top:-40px;left:0}div.uimob340 .um-header.no-cover .um-profile-photo{position:static;top:auto;left:auto}div.uimob340 .um-profile-photo a.um-profile-photo-img{width:100px!important;height:100px!important;margin:0 auto!important;float:none!important;display:inline-block!important;position:relative!important;top:auto!important;left:auto!important}div.uimob340 .um-header.no-cover .um-profile-photo a.um-profile-photo-img{width:120px!important;height:120px!important}div.uimob340 .um-header .um-profile-meta{padding-left:0!important;padding-right:0!important;text-align:center!important;padding-top:60px!important}div.uimob340 .um-header.no-cover .um-profile-meta{padding-top:0!important}div.uimob340 .um-header .um-name{float:none!important;margin-right:0!important;font-size:18px}div.uimob340 .um-header .um-meta,div.uimob340 .um-header .um-meta-text{padding:0 20px}div.uimob340 .um-header .um-meta span:first-child{display:block}div.uimob340 .um-header .um-meta span{display:none}div.uimob340 .um-col-121,div.uimob340 .um-col-122,div.uimob340 .um-col-131,div.uimob340 .um-col-132,div.uimob340 .um-col-133{float:none;width:100%;margin:0}div.uimob340 .um-field-half{float:none;width:100%}div.uimob340 .um-search{padding:20px 0!important;width:100%!important;box-sizing:border-box}div.uimob340 .um-search .um-search-filter{width:100%!important;float:none!important;padding:0 0 15px!important}div.uimob340 .um-search .um-search-submit .um-button{display:block!important;min-width:100%!important;margin:0 0 15px!important}div.uimob340 .um-member{width:100%}div.uimob340 .um-gutter-sizer{width:0}div.uimob340 .um-account-main{float:none;width:100%;padding:0;box-sizing:border-box}div.uimob340 .um-account-tab{padding-bottom:20px;border-bottom:1px solid #eee}div.uimob340 .um-account-meta{margin-bottom:0}.uimob340 .um-half{float:none;width:100%;margin:0 0 10px}.uimob340 .um-button.um-btn-auto-width{min-width:auto;max-width:auto;width:100%}.uimob340 .um-col-alt-s{padding-top:0}div.uimob500 .um-profile-nav{padding:0}div.uimob500 .um-profile-nav-item a{padding:10px 16px;margin-left:0;border-radius:0}div.uimob500 .um-profile-nav-item i{display:block;position:static;top:auto;left:auto;font-size:22px;height:22px;line-height:22px}div.uimob500 .um-profile-subnav{padding:8px 15px}div.uimob500 .um-profile-subnav a{display:block;text-align:left;font-size:13px;margin:0;padding:6px 0}div.uimob500 .um-profile-subnav span{font-size:12px;padding:1px 6px}div.uimob500 .um-cover-overlay span.um-cover-overlay-t{display:none!important}div.uimob500 .um-cover-overlay{padding:0}div.uimob500 .um-cover-overlay i,div.uimob500 .um-profile-photo-overlay i{margin-bottom:0;font-size:30px}.um-modal.uimob500{width:100%!important;margin:0!important;left:0!important;height:100%;background:#fff}.um-modal.uimob500,.um-modal.uimob500 .um-modal-body,.um-modal.uimob500 .um-modal-header{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.um-modal.uimob500 .um-modal-header{text-align:center}.um-modal.uimob500 .um-modal-footer{position:absolute;bottom:0;left:0;width:100%;box-sizing:border-box;padding:10px;border-top:1px solid #ddd}.um-modal.uimob500 .um-modal-right{width:100%;float:none}.um-modal.uimob500 .um-modal-footer a.um-modal-btn{width:48%;margin:0 1%;float:left;display:block;line-height:44px!important;height:44px}.um-modal.uimob500 .ajax-upload-dragdrop span.icon{font-size:40px;line-height:40px}div.uimob500 .um-profile-body{padding-left:0;padding-right:0}div.uimob500 .um-profile-photo{width:100%!important;text-align:center!important;position:absolute;top:-40px;left:0}div.uimob500 .um-header.no-cover .um-profile-photo{position:static;top:auto;left:auto}div.uimob500 .um-profile-photo a.um-profile-photo-img{width:100px!important;height:100px!important;margin:0 auto!important;float:none!important;display:inline-block!important;position:relative!important;top:auto!important;left:auto!important}div.uimob500 .um-header.no-cover .um-profile-photo a.um-profile-photo-img{width:120px!important;height:120px!important}div.uimob500 .um-header .um-profile-meta{padding-left:0!important;padding-right:0!important;text-align:center!important;padding-top:60px!important}div.uimob500 .um-header.no-cover .um-profile-meta{padding-top:0!important}div.uimob500 .um-header .um-name{float:none!important;margin-right:0!important;font-size:21px}div.uimob500 .um-header .um-meta,div.uimob500 .um-header .um-meta-text{padding:0 20px}div.uimob500 .um-header .um-meta span:first-child{display:block}div.uimob500 .um-header .um-meta span{display:none}div.uimob500 .um-col-121,div.uimob500 .um-col-122,div.uimob500 .um-col-131,div.uimob500 .um-col-132,div.uimob500 .um-col-133{float:none;width:100%;margin:0}div.uimob500 .um-field-half{float:none;width:100%}div.uimob500 .um-search{padding:20px 0!important;width:100%!important;box-sizing:border-box}div.uimob500 .um-search .um-search-filter{width:100%!important;float:none!important;padding:0 0 15px!important}div.uimob500 .um-search .um-search-submit .um-button{display:block!important;min-width:100%!important;margin:0 0 15px!important}div.uimob500 .um-member{width:100%}div.uimob500 .um-gutter-sizer{width:0}div.uimob500 .um-account-main{float:none;width:100%;padding:0;box-sizing:border-box}div.uimob500 .um-account-tab{padding-bottom:20px;border-bottom:1px solid #eee}div.uimob500 .um-account-meta{margin-bottom:0}div.uimob800 .um-profile-nav{padding:0}div.uimob800 .um-profile-nav-item a{padding:10px 20px;margin-left:0;border-radius:0}div.uimob800 .um-profile-nav-item i{display:block;position:static;top:auto;left:auto;font-size:26px;height:26px;line-height:26px}div.uimob800 .um-profile-subnav{padding:8px 15px}div.uimob800 .um-profile-subnav a{display:block;text-align:left;font-size:14px;margin:0;padding:6px 0}div.uimob800 .um-profile-subnav span{font-size:12px;padding:2px 8px}div.uimob800 .um-account-main{width:90%;max-width:450px}div.uimob800 .um-account-side{padding:0;width:10%}div.uimob800 .um-account-side ul{border:1px solid #ddd;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}div.uimob800 .um-account-side li{margin-bottom:0!important;background:0 0}div.uimob800 .um-account-side li a{display:block;padding:0!important;height:44px;line-height:44px;color:#666!important;text-align:center;text-decoration:none!important;background:0 0;transition:all .2s linear}div.uimob800 .um-account-side li:first-child a{-moz-border-radius:3px 3px 0 0;-webkit-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}div.uimob800 .um-account-side li:last-child a{-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}div.uimob800 .um-account-side li a span.um-account-icontip{display:block;float:left;text-align:center;width:100%;height:100%;font-size:22px;line-height:44px}div.uimob800 .um-account-side li a span.um-account-icontip i{position:relative;text-align:center;width:100%}div.uimob800 .um-account-side li a.current,div.uimob800 .um-account-side li a.current:hover{color:#fff!important}div.uimob800 .um-account-meta a{border:1px solid #ddd}div.uimob800 .um-account-meta a,div.uimob800 .um-account-meta img{display:block;overflow:hidden;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;max-width:100%;height:auto}div.uimob800 .um-profile-photo{width:200px!important}div.uimob800 .um-profile-photo a.um-profile-photo-img{width:140px!important;height:140px!important;top:-70px!important}div.uimob800 .um-header.no-cover .um-profile-photo a.um-profile-photo-img{top:auto!important}div.uimob800 .um-header .um-profile-meta{padding-left:200px}div.uimob800 .um-cover-overlay{padding:0}div.uimob800 .um-search{padding:20px 0!important;width:100%!important;box-sizing:border-box}div.uimob800 .um-search .um-search-filter{width:48%!important;float:left!important;padding:0 0 15px!important}div.uimob800 .um-search .um-search-filter-2{margin-left:4%}div.uimob800 .um-search .um-search-submit .um-button{display:block!important;width:48%!important;margin:0 0 15px!important;box-sizing:border-box;float:left}div.uimob800 .um-search .um-search-submit .um-button.um-alt{float:right}div.uimob800 .um-member{width:48%}div.uimob800 .um-gutter-sizer{width:4%}div.uimob960 .um-search{padding:20px 0!important;width:100%!important;box-sizing:border-box}div.uimob960 .um-search .um-search-filter{width:48%!important;float:left!important;padding:0 0 15px!important}div.uimob960 .um-search .um-search-filter-2{margin-left:4%}div.uimob960 .um-search .um-search-submit .um-button{display:block!important;width:48%!important;margin:0 0 15px!important;box-sizing:border-box;float:left}div.uimob960 .um-search .um-search-submit .um-button.um-alt{float:right}div.uimob960 .um-member{width:48%}div.uimob960 .um-gutter-sizer{width:4%}@media screen and (max-height:400px){.ajax-upload-dragdrop span.icon{display:none}.um-modal.no-photo{width:100%!important;margin:0!important;left:0!important;height:100%;background:#fff}.um-modal.no-photo,.um-modal.no-photo .um-modal-body,.um-modal.no-photo .um-modal-header{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.um-modal.no-photo .um-modal-header{text-align:center;font-size:14px}.um-modal.no-photo .um-modal-footer{position:absolute;bottom:0;left:0;width:100%;box-sizing:border-box;padding:10px;border-top:1px solid #ddd}.um-modal.no-photo .um-modal-right{width:100%;float:none}.um-modal.no-photo .um-modal-footer a.um-modal-btn{width:48%;margin:0 1%;float:left;display:block;line-height:44px!important;height:44px}}@media screen and (max-height:300px){.ajax-upload-dragdrop span.icon,.ajax-upload-dragdrop span.str,.um-modal.no-photo .um-modal-header{display:none}}@media screen and (max-width:600px){.um-popup{width:96%;margin-left:2%;left:0;top:15px}}
1
+ @-webkit-keyframes um-effect-pop{50%{-webkit-transform:scale(1.2);transform:scale(1.2)}}@keyframes um-effect-pop{50%{-webkit-transform:scale(1.2);transform:scale(1.2)}}.um-effect-pop{-webkit-animation-name:um-effect-pop;animation-name:um-effect-pop;-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-iteration-count:1;animation-iteration-count:1}.um-locked-content{width:100%;box-sizing:border-box;border:2px dotted #cc3000;color:#333;background:#fff;font-size:14px;padding:20px;border-radius:4px;margin-bottom:20px}.um-locked-content a{border:none!important}.um-youtube,.um-vimeo,.um-googlemap{position:relative;height:0;overflow:hidden}.um-youtube{padding-bottom:56.25%}.um-vimeo{padding-bottom:56.25%}.um-googlemap{padding-bottom:75%}.um-youtube iframe,.um-vimeo iframe,.um-googlemap iframe{position:absolute;top:0;left:0;width:100%!important;height:100%!important}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg)}100%{-ms-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}.mCustomScrollbar{-ms-touch-action:none;touch-action:none}.mCustomScrollbar.mCS_no_scrollbar{-ms-touch-action:auto;touch-action:auto}.mCustomScrollBox{position:relative;overflow:hidden;height:100%;max-width:100%;outline:none;direction:ltr}.mCSB_container{overflow:hidden;width:auto;height:auto}.mCSB_inside>.mCSB_container{margin-right:0}.mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden{margin-right:0}.mCS-dir-rtl>.mCSB_inside>.mCSB_container{margin-right:0;margin-left:0}.mCS-dir-rtl>.mCSB_inside>.mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden{margin-left:0}.mCSB_scrollTools{position:absolute;width:16px;height:auto;left:auto;top:0;right:0;bottom:0}.mCSB_outside+.mCSB_scrollTools{right:-26px}.mCS-dir-rtl>.mCSB_inside>.mCSB_scrollTools,.mCS-dir-rtl>.mCSB_outside+.mCSB_scrollTools{right:auto;left:0}.mCS-dir-rtl>.mCSB_outside+.mCSB_scrollTools{left:-26px}.mCSB_scrollTools .mCSB_draggerContainer{position:absolute;top:0;left:0;bottom:0;right:0;height:auto}.mCSB_scrollTools a+.mCSB_draggerContainer{margin:20px 0}.mCSB_scrollTools .mCSB_draggerRail{width:2px;height:100%;margin:0 auto;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px}.mCSB_scrollTools .mCSB_dragger{cursor:pointer;width:100%;height:30px;z-index:1}.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{position:relative;width:4px;height:100%;margin:0 auto;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px;text-align:center}.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{width:12px}.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{width:8px}.mCSB_scrollTools .mCSB_buttonUp,.mCSB_scrollTools .mCSB_buttonDown{display:block;position:absolute;height:20px;width:100%;overflow:hidden;margin:0 auto;cursor:pointer}.mCSB_scrollTools .mCSB_buttonDown{bottom:0}.mCSB_horizontal.mCSB_inside>.mCSB_container{margin-right:0;margin-bottom:30px}.mCSB_horizontal.mCSB_outside>.mCSB_container{min-height:100%}.mCSB_horizontal>.mCSB_container.mCS_no_scrollbar_x.mCS_x_hidden{margin-bottom:0}.mCSB_scrollTools.mCSB_scrollTools_horizontal{width:auto;height:16px;top:auto;right:0;bottom:0;left:0}.mCustomScrollBox+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox+.mCSB_scrollTools+.mCSB_scrollTools.mCSB_scrollTools_horizontal{bottom:-26px}.mCSB_scrollTools.mCSB_scrollTools_horizontal a+.mCSB_draggerContainer{margin:0 20px}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:2px;margin:7px 0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger{width:30px;height:100%;left:0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:4px;margin:6px auto}.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{height:12px;margin:2px auto}.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{height:8px;margin:4px 0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft,.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight{display:block;position:absolute;width:20px;height:100%;overflow:hidden;margin:0 auto;cursor:pointer}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft{left:0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight{right:0}.mCSB_container_wrapper{position:absolute;height:auto;width:auto;overflow:hidden;top:0;left:0;right:0;bottom:0;margin-right:30px;margin-bottom:30px}.mCSB_container_wrapper>.mCSB_container{padding-right:30px;padding-bottom:30px}.mCSB_vertical_horizontal>.mCSB_scrollTools.mCSB_scrollTools_vertical{bottom:20px}.mCSB_vertical_horizontal>.mCSB_scrollTools.mCSB_scrollTools_horizontal{right:20px}.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden+.mCSB_scrollTools.mCSB_scrollTools_vertical{bottom:0}.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden+.mCSB_scrollTools ~ .mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCS-dir-rtl>.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_scrollTools.mCSB_scrollTools_horizontal{right:0}.mCS-dir-rtl>.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_scrollTools.mCSB_scrollTools_horizontal{left:20px}.mCS-dir-rtl>.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden+.mCSB_scrollTools ~ .mCSB_scrollTools.mCSB_scrollTools_horizontal{left:0}.mCS-dir-rtl>.mCSB_inside>.mCSB_container_wrapper{margin-right:0;margin-left:30px}.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden>.mCSB_container{padding-right:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden>.mCSB_container{padding-bottom:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden{margin-right:0;margin-left:0}.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden{margin-bottom:0}.mCSB_scrollTools,.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCSB_scrollTools .mCSB_buttonUp,.mCSB_scrollTools .mCSB_buttonDown,.mCSB_scrollTools .mCSB_buttonLeft,.mCSB_scrollTools .mCSB_buttonRight{-webkit-transition:opacity .2s ease-in-out,background-color .2s ease-in-out;-moz-transition:opacity .2s ease-in-out,background-color .2s ease-in-out;-o-transition:opacity .2s ease-in-out,background-color .2s ease-in-out;transition:opacity .2s ease-in-out,background-color .2s ease-in-out}.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar,.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail{-webkit-transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out;-moz-transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out;-o-transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out;transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out}.mCSB_scrollTools{opacity:.75;filter:"alpha(opacity=75)";-ms-filter:"alpha(opacity=75)"}.mCS-autoHide>.mCustomScrollBox>.mCSB_scrollTools,.mCS-autoHide>.mCustomScrollBox ~ .mCSB_scrollTools{opacity:0;filter:"alpha(opacity=0)";-ms-filter:"alpha(opacity=0)"}.mCustomScrollbar>.mCustomScrollBox>.mCSB_scrollTools.mCSB_scrollTools_onDrag,.mCustomScrollbar>.mCustomScrollBox ~ .mCSB_scrollTools.mCSB_scrollTools_onDrag,.mCustomScrollBox:hover>.mCSB_scrollTools,.mCustomScrollBox:hover ~ .mCSB_scrollTools,.mCS-autoHide:hover>.mCustomScrollBox>.mCSB_scrollTools,.mCS-autoHide:hover>.mCustomScrollBox ~ .mCSB_scrollTools{opacity:1;filter:"alpha(opacity=100)";-ms-filter:"alpha(opacity=100)"}.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.4);filter:"alpha(opacity=40)";-ms-filter:"alpha(opacity=40)"}.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.75);filter:"alpha(opacity=75)";-ms-filter:"alpha(opacity=75)"}.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.85);filter:"alpha(opacity=85)";-ms-filter:"alpha(opacity=85)"}.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.9);filter:"alpha(opacity=90)";-ms-filter:"alpha(opacity=90)"}.mCSB_scrollTools .mCSB_buttonUp,.mCSB_scrollTools .mCSB_buttonDown,.mCSB_scrollTools .mCSB_buttonLeft,.mCSB_scrollTools .mCSB_buttonRight{background-image:url(mCSB_buttons.png);background-repeat:no-repeat;opacity:.4;filter:"alpha(opacity=40)";-ms-filter:"alpha(opacity=40)"}.mCSB_scrollTools .mCSB_buttonUp:hover,.mCSB_scrollTools .mCSB_buttonDown:hover,.mCSB_scrollTools .mCSB_buttonLeft:hover,.mCSB_scrollTools .mCSB_buttonRight:hover{opacity:.75;filter:"alpha(opacity=75)";-ms-filter:"alpha(opacity=75)"}.mCSB_scrollTools .mCSB_buttonUp:active,.mCSB_scrollTools .mCSB_buttonDown:active,.mCSB_scrollTools .mCSB_buttonLeft:active,.mCSB_scrollTools .mCSB_buttonRight:active{opacity:.9;filter:"alpha(opacity=90)";-ms-filter:"alpha(opacity=90)"}.mCS-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.15)}.mCS-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75)}.mCS-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:rgba(0,0,0,0.85)}.mCS-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:rgba(0,0,0,0.9)}.mCS-light-2.mCSB_scrollTools .mCSB_draggerRail,.mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail{width:4px;background-color:#fff;background-color:rgba(255,255,255,0.1);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-light-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:4px;background-color:#fff;background-color:rgba(255,255,255,0.75);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-light-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-light-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:4px;margin:6px auto}.mCS-light-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.85)}.mCS-light-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-light-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.9)}.mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.1);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-dark-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-dark-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-dark-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-light-thick.mCSB_scrollTools .mCSB_draggerRail,.mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail{width:4px;background-color:#fff;background-color:rgba(255,255,255,0.1);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-light-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:6px;background-color:#fff;background-color:rgba(255,255,255,0.75);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:4px;margin:6px 0}.mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:6px;margin:5px auto}.mCS-light-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.85)}.mCS-light-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-light-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.9)}.mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.1);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-light-thin.mCSB_scrollTools .mCSB_draggerRail{background-color:#fff;background-color:rgba(255,255,255,0.1)}.mCS-light-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:2px}.mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%}.mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:2px;margin:7px auto}.mCS-dark-thin.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.15)}.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75)}.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-rounded.mCSB_scrollTools .mCSB_draggerRail{background-color:#fff;background-color:rgba(255,255,255,0.15)}.mCS-rounded.mCSB_scrollTools .mCSB_dragger,.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger,.mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger{height:14px}.mCS-rounded.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:14px;margin:0 1px}.mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger{width:14px}.mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{height:14px;margin:1px 0}.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{width:16px;height:16px;margin:-1px 0}.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{width:4px}.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{height:16px;width:16px;margin:0 -1px}.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{height:4px;margin:6px 0}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.15)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-rounded-dots.mCSB_scrollTools_vertical .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools_vertical .mCSB_draggerRail{width:4px}.mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{background-color:transparent;background-position:center}.mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAANElEQVQYV2NkIAAYiVbw//9/Y6DiM1ANJoyMjGdBbLgJQAX/kU0DKgDLkaQAvxW4HEvQFwCRcxIJK1XznAAAAABJRU5ErkJggg==");background-repeat:repeat-y;opacity:.3;filter:"alpha(opacity=30)";-ms-filter:"alpha(opacity=30)"}.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{height:4px;margin:6px 0;background-repeat:repeat-x}.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYV2NkIAAYSVFgDFR8BqrBBEifBbGRTfiPZhpYjiQFBK3A6l6CvgAAE9kGCd1mvgEAAAAASUVORK5CYII=")}.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-repeat:repeat-y;background-image:-moz-linear-gradient(left,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-webkit-gradient(linear,left top,right top,color-stop(0%,rgba(255,255,255,0.5)),color-stop(100%,rgba(255,255,255,0)));background-image:-webkit-linear-gradient(left,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-o-linear-gradient(left,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-ms-linear-gradient(left,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:linear-gradient(to right,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%)}.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{background-repeat:repeat-x;background-image:-moz-linear-gradient(top,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0%,rgba(255,255,255,0.5)),color-stop(100%,rgba(255,255,255,0)));background-image:-webkit-linear-gradient(top,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-o-linear-gradient(top,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-ms-linear-gradient(top,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:linear-gradient(to bottom,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%)}.mCS-3d.mCSB_scrollTools_vertical .mCSB_dragger,.mCS-3d-dark.mCSB_scrollTools_vertical .mCSB_dragger{height:70px}.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger{width:70px}.mCS-3d.mCSB_scrollTools,.mCS-3d-dark.mCSB_scrollTools{opacity:1;filter:"alpha(opacity=30)";-ms-filter:"alpha(opacity=30)"}.mCS-3d.mCSB_scrollTools .mCSB_draggerRail,.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px}.mCS-3d.mCSB_scrollTools .mCSB_draggerRail,.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail{width:8px;background-color:#000;background-color:rgba(0,0,0,0.2);box-shadow:inset 1px 0 1px rgba(0,0,0,0.5),inset -1px 0 1px rgba(255,255,255,0.2)}.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#555}.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:8px}.mCS-3d.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:8px;margin:4px 0;box-shadow:inset 0 1px 1px rgba(0,0,0,0.5),inset 0 -1px 1px rgba(255,255,255,0.2)}.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:8px;margin:4px auto}.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.1);box-shadow:inset 1px 0 1px rgba(0,0,0,0.1)}.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{box-shadow:inset 0 1px 1px rgba(0,0,0,0.1)}.mCS-3d-thick.mCSB_scrollTools,.mCS-3d-thick-dark.mCSB_scrollTools{opacity:1;filter:"alpha(opacity=30)";-ms-filter:"alpha(opacity=30)"}.mCS-3d-thick.mCSB_scrollTools,.mCS-3d-thick-dark.mCSB_scrollTools,.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer{-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.mCSB_inside+.mCS-3d-thick.mCSB_scrollTools_vertical,.mCSB_inside+.mCS-3d-thick-dark.mCSB_scrollTools_vertical{right:1px}.mCS-3d-thick.mCSB_scrollTools_vertical,.mCS-3d-thick-dark.mCSB_scrollTools_vertical{box-shadow:inset 1px 0 1px rgba(0,0,0,0.1),inset 0 0 14px rgba(0,0,0,0.5)}.mCS-3d-thick.mCSB_scrollTools_horizontal,.mCS-3d-thick-dark.mCSB_scrollTools_horizontal{bottom:1px;box-shadow:inset 0 1px 1px rgba(0,0,0,0.1),inset 0 0 14px rgba(0,0,0,0.5)}.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 1px 0 0 rgba(255,255,255,0.4);width:12px;margin:2px;position:absolute;height:auto;top:0;bottom:0;left:0;right:0}.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 0 1px 0 rgba(255,255,255,0.4)}.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#555}.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{height:12px;width:auto}.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer{background-color:#000;background-color:rgba(0,0,0,0.05);box-shadow:inset 1px 1px 16px rgba(0,0,0,0.1)}.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent}.mCS-3d-thick-dark.mCSB_scrollTools{box-shadow:inset 0 0 14px rgba(0,0,0,0.2)}.mCS-3d-thick-dark.mCSB_scrollTools_horizontal{box-shadow:inset 0 1px 1px rgba(0,0,0,0.1),inset 0 0 14px rgba(0,0,0,0.2)}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 1px 0 0 rgba(255,255,255,0.4),inset -1px 0 0 rgba(0,0,0,0.2)}.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 0 1px 0 rgba(255,255,255,0.4),inset 0 -1px 0 rgba(0,0,0,0.2)}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#777}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer{background-color:#fff;background-color:rgba(0,0,0,0.05);box-shadow:inset 1px 1px 16px rgba(0,0,0,0.1)}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent}.mCSB_outside+.mCS-minimal.mCSB_scrollTools_vertical,.mCSB_outside+.mCS-minimal-dark.mCSB_scrollTools_vertical{right:0;margin:12px 0}.mCustomScrollBox.mCS-minimal+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox.mCS-minimal+.mCSB_scrollTools+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox.mCS-minimal-dark+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox.mCS-minimal-dark+.mCSB_scrollTools+.mCSB_scrollTools.mCSB_scrollTools_horizontal{bottom:0;margin:0 12px}.mCS-dir-rtl>.mCSB_outside+.mCS-minimal.mCSB_scrollTools_vertical,.mCS-dir-rtl>.mCSB_outside+.mCS-minimal-dark.mCSB_scrollTools_vertical{left:0;right:auto}.mCS-minimal.mCSB_scrollTools .mCSB_draggerRail,.mCS-minimal-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent}.mCS-minimal.mCSB_scrollTools_vertical .mCSB_dragger,.mCS-minimal-dark.mCSB_scrollTools_vertical .mCSB_dragger{height:50px}.mCS-minimal.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-minimal-dark.mCSB_scrollTools_horizontal .mCSB_dragger{width:50px}.mCS-minimal.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.2);filter:"alpha(opacity=20)";-ms-filter:"alpha(opacity=20)"}.mCS-minimal.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-minimal.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.5);filter:"alpha(opacity=50)";-ms-filter:"alpha(opacity=50)"}.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.2);filter:"alpha(opacity=20)";-ms-filter:"alpha(opacity=20)"}.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.5);filter:"alpha(opacity=50)";-ms-filter:"alpha(opacity=50)"}.mCS-light-3.mCSB_scrollTools .mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail{width:6px;background-color:#000;background-color:rgba(0,0,0,0.2)}.mCS-light-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:6px}.mCS-light-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-light-3.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:6px;margin:5px 0}.mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{width:12px}.mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{height:12px;margin:2px 0}.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:rgba(0,0,0,0.1)}.mCS-dark-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:rgba(0,0,0,0.15)}.mCS-dark-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-dark-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:rgba(0,0,0,0.15)}.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail{background-color:rgba(0,0,0,0.1)}.mCS-inset.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail{width:12px;background-color:#000;background-color:rgba(0,0,0,0.2)}.mCS-inset.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:6px;margin:3px 5px;position:absolute;height:auto;top:0;bottom:0;left:0;right:0}.mCS-inset.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{height:6px;margin:5px 3px;position:absolute;width:auto;top:0;bottom:0;left:0;right:0}.mCS-inset.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:12px;margin:2px 0}.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75)}.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.1)}.mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent;border-width:1px;border-style:solid;border-color:#fff;border-color:rgba(255,255,255,0.2);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail{border-color:#000;border-color:rgba(0,0,0,0.2)}.mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail{background-color:#fff;background-color:rgba(255,255,255,0.6)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.6)}.mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75)}.mCS-inset-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-inset-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.75)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.85)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.9)}
2
+ .um-login.um-logout{max-width:300px!important}.um-misc-with-img{position:relative;font-size:15px;border-bottom:3px solid #eee;text-align:center;margin-bottom:14px;padding-top:4px;padding-bottom:14px}.um-misc-img{text-align:center}.um-misc-img img{border-radius:999px;height:auto!important;display:inline-block!important}.um-misc-ul,.um-misc-ul li{font-size:14px}.um-profile-connect.um-member-connect{padding:5px 0 10px}.um-profile-connect.um-member-connect a{text-align:center;width:36px;line-height:36px;height:36px;font-size:20px}@charset "UTF-8";@font-face{font-family:FontAwesome;src:url(../font/fontawesome-webfont.eot?v=4.2.0);src:url(../font/fontawesome-webfont.eot?v=4.2.0#iefix) format("embedded-opentype"),url(../font/fontawesome-webfont.woff?v=4.2.0) format("woff"),url(../font/fontawesome-webfont.ttf?v=4.2.0) format("truetype"),url(../font/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular) format("svg");font-weight:400;font-style:normal}[class*=" um-faicon-"]:before,[class^=um-faicon-]:before{font-family:FontAwesome!important;font-style:normal!important;font-weight:400!important;font-variant:normal!important;text-transform:none!important;speak:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.um-faicon-glass:before{content:"\f000"}.um-faicon-music:before{content:"\f001"}.um-faicon-search:before{content:"\f002"}.um-faicon-envelope-o:before{content:"\f003"}.um-faicon-heart:before{content:"\f004"}.um-faicon-star:before{content:"\f005"}.um-faicon-star-o:before{content:"\f006"}.um-faicon-user:before{content:"\f007"}.um-faicon-film:before{content:"\f008"}.um-faicon-th-large:before{content:"\f009"}.um-faicon-th:before{content:"\f00a"}.um-faicon-th-list:before{content:"\f00b"}.um-faicon-check:before{content:"\f00c"}.um-faicon-close:before,.um-faicon-remove:before,.um-faicon-times:before{content:"\f00d"}.um-faicon-search-plus:before{content:"\f00e"}.um-faicon-search-minus:before{content:"\f010"}.um-faicon-power-off:before{content:"\f011"}.um-faicon-signal:before{content:"\f012"}.um-faicon-cog:before,.um-faicon-gear:before{content:"\f013"}.um-faicon-trash-o:before{content:"\f014"}.um-faicon-home:before{content:"\f015"}.um-faicon-file-o:before{content:"\f016"}.um-faicon-clock-o:before{content:"\f017"}.um-faicon-road:before{content:"\f018"}.um-faicon-download:before{content:"\f019"}.um-faicon-arrow-circle-o-down:before{content:"\f01a"}.um-faicon-arrow-circle-o-up:before{content:"\f01b"}.um-faicon-inbox:before{content:"\f01c"}.um-faicon-play-circle-o:before{content:"\f01d"}.um-faicon-repeat:before,.um-faicon-rotate-right:before{content:"\f01e"}.um-faicon-refresh:before{content:"\f021"}.um-faicon-list-alt:before{content:"\f022"}.um-faicon-lock:before{content:"\f023"}.um-faicon-flag:before{content:"\f024"}.um-faicon-headphones:before{content:"\f025"}.um-faicon-volume-off:before{content:"\f026"}.um-faicon-volume-down:before{content:"\f027"}.um-faicon-volume-up:before{content:"\f028"}.um-faicon-qrcode:before{content:"\f029"}.um-faicon-barcode:before{content:"\f02a"}.um-faicon-tag:before{content:"\f02b"}.um-faicon-tags:before{content:"\f02c"}.um-faicon-book:before{content:"\f02d"}.um-faicon-bookmark:before{content:"\f02e"}.um-faicon-print:before{content:"\f02f"}.um-faicon-camera:before{content:"\f030"}.um-faicon-font:before{content:"\f031"}.um-faicon-bold:before{content:"\f032"}.um-faicon-italic:before{content:"\f033"}.um-faicon-text-height:before{content:"\f034"}.um-faicon-text-width:before{content:"\f035"}.um-faicon-align-left:before{content:"\f036"}.um-faicon-align-center:before{content:"\f037"}.um-faicon-align-right:before{content:"\f038"}.um-faicon-align-justify:before{content:"\f039"}.um-faicon-list:before{content:"\f03a"}.um-faicon-dedent:before,.um-faicon-outdent:before{content:"\f03b"}.um-faicon-indent:before{content:"\f03c"}.um-faicon-video-camera:before{content:"\f03d"}.um-faicon-image:before,.um-faicon-photo:before,.um-faicon-picture-o:before{content:"\f03e"}.um-faicon-pencil:before{content:"\f040"}.um-faicon-map-marker:before{content:"\f041"}.um-faicon-adjust:before{content:"\f042"}.um-faicon-tint:before{content:"\f043"}.um-faicon-edit:before,.um-faicon-pencil-square-o:before{content:"\f044"}.um-faicon-share-square-o:before{content:"\f045"}.um-faicon-check-square-o:before{content:"\f046"}.um-faicon-arrows:before{content:"\f047"}.um-faicon-step-backward:before{content:"\f048"}.um-faicon-fast-backward:before{content:"\f049"}.um-faicon-backward:before{content:"\f04a"}.um-faicon-play:before{content:"\f04b"}.um-faicon-pause:before{content:"\f04c"}.um-faicon-stop:before{content:"\f04d"}.um-faicon-forward:before{content:"\f04e"}.um-faicon-fast-forward:before{content:"\f050"}.um-faicon-step-forward:before{content:"\f051"}.um-faicon-eject:before{content:"\f052"}.um-faicon-chevron-left:before{content:"\f053"}.um-faicon-chevron-right:before{content:"\f054"}.um-faicon-plus-circle:before{content:"\f055"}.um-faicon-minus-circle:before{content:"\f056"}.um-faicon-times-circle:before{content:"\f057"}.um-faicon-check-circle:before{content:"\f058"}.um-faicon-question-circle:before{content:"\f059"}.um-faicon-info-circle:before{content:"\f05a"}.um-faicon-crosshairs:before{content:"\f05b"}.um-faicon-times-circle-o:before{content:"\f05c"}.um-faicon-check-circle-o:before{content:"\f05d"}.um-faicon-ban:before{content:"\f05e"}.um-faicon-arrow-left:before{content:"\f060"}.um-faicon-arrow-right:before{content:"\f061"}.um-faicon-arrow-up:before{content:"\f062"}.um-faicon-arrow-down:before{content:"\f063"}.um-faicon-mail-forward:before,.um-faicon-share:before{content:"\f064"}.um-faicon-expand:before{content:"\f065"}.um-faicon-compress:before{content:"\f066"}.um-faicon-plus:before{content:"\f067"}.um-faicon-minus:before{content:"\f068"}.um-faicon-asterisk:before{content:"\f069"}.um-faicon-exclamation-circle:before{content:"\f06a"}.um-faicon-gift:before{content:"\f06b"}.um-faicon-leaf:before{content:"\f06c"}.um-faicon-fire:before{content:"\f06d"}.um-faicon-eye:before{content:"\f06e"}.um-faicon-eye-slash:before{content:"\f070"}.um-faicon-exclamation-triangle:before,.um-faicon-warning:before{content:"\f071"}.um-faicon-plane:before{content:"\f072"}.um-faicon-calendar:before{content:"\f073"}.um-faicon-random:before{content:"\f074"}.um-faicon-comment:before{content:"\f075"}.um-faicon-magnet:before{content:"\f076"}.um-faicon-chevron-up:before{content:"\f077"}.um-faicon-chevron-down:before{content:"\f078"}.um-faicon-retweet:before{content:"\f079"}.um-faicon-shopping-cart:before{content:"\f07a"}.um-faicon-folder:before{content:"\f07b"}.um-faicon-folder-open:before{content:"\f07c"}.um-faicon-arrows-v:before{content:"\f07d"}.um-faicon-arrows-h:before{content:"\f07e"}.um-faicon-bar-chart-o:before,.um-faicon-bar-chart:before{content:"\f080"}.um-faicon-twitter-square:before{content:"\f081"}.um-faicon-facebook-square:before{content:"\f082"}.um-faicon-camera-retro:before{content:"\f083"}.um-faicon-key:before{content:"\f084"}.um-faicon-cogs:before,.um-faicon-gears:before{content:"\f085"}.um-faicon-comments:before{content:"\f086"}.um-faicon-thumbs-o-up:before{content:"\f087"}.um-faicon-thumbs-o-down:before{content:"\f088"}.um-faicon-star-half:before{content:"\f089"}.um-faicon-heart-o:before{content:"\f08a"}.um-faicon-sign-out:before{content:"\f08b"}.um-faicon-linkedin-square:before{content:"\f08c"}.um-faicon-thumb-tack:before{content:"\f08d"}.um-faicon-external-link:before{content:"\f08e"}.um-faicon-sign-in:before{content:"\f090"}.um-faicon-trophy:before{content:"\f091"}.um-faicon-github-square:before{content:"\f092"}.um-faicon-upload:before{content:"\f093"}.um-faicon-lemon-o:before{content:"\f094"}.um-faicon-phone:before{content:"\f095"}.um-faicon-square-o:before{content:"\f096"}.um-faicon-bookmark-o:before{content:"\f097"}.um-faicon-phone-square:before{content:"\f098"}.um-faicon-twitter:before{content:"\f099"}.um-faicon-facebook:before{content:"\f09a"}.um-faicon-github:before{content:"\f09b"}.um-faicon-unlock:before{content:"\f09c"}.um-faicon-credit-card:before{content:"\f09d"}.um-faicon-rss:before{content:"\f09e"}.um-faicon-hdd-o:before{content:"\f0a0"}.um-faicon-bullhorn:before{content:"\f0a1"}.um-faicon-bell:before{content:"\f0f3"}.um-faicon-certificate:before{content:"\f0a3"}.um-faicon-hand-o-right:before{content:"\f0a4"}.um-faicon-hand-o-left:before{content:"\f0a5"}.um-faicon-hand-o-up:before{content:"\f0a6"}.um-faicon-hand-o-down:before{content:"\f0a7"}.um-faicon-arrow-circle-left:before{content:"\f0a8"}.um-faicon-arrow-circle-right:before{content:"\f0a9"}.um-faicon-arrow-circle-up:before{content:"\f0aa"}.um-faicon-arrow-circle-down:before{content:"\f0ab"}.um-faicon-globe:before{content:"\f0ac"}.um-faicon-wrench:before{content:"\f0ad"}.um-faicon-tasks:before{content:"\f0ae"}.um-faicon-filter:before{content:"\f0b0"}.um-faicon-briefcase:before{content:"\f0b1"}.um-faicon-arrows-alt:before{content:"\f0b2"}.um-faicon-group:before,.um-faicon-users:before{content:"\f0c0"}.um-faicon-chain:before,.um-faicon-link:before{content:"\f0c1"}.um-faicon-cloud:before{content:"\f0c2"}.um-faicon-flask:before{content:"\f0c3"}.um-faicon-cut:before,.um-faicon-scissors:before{content:"\f0c4"}.um-faicon-copy:before,.um-faicon-files-o:before{content:"\f0c5"}.um-faicon-paperclip:before{content:"\f0c6"}.um-faicon-floppy-o:before,.um-faicon-save:before{content:"\f0c7"}.um-faicon-square:before{content:"\f0c8"}.um-faicon-bars:before,.um-faicon-navicon:before,.um-faicon-reorder:before{content:"\f0c9"}.um-faicon-list-ul:before{content:"\f0ca"}.um-faicon-list-ol:before{content:"\f0cb"}.um-faicon-strikethrough:before{content:"\f0cc"}.um-faicon-underline:before{content:"\f0cd"}.um-faicon-table:before{content:"\f0ce"}.um-faicon-magic:before{content:"\f0d0"}.um-faicon-truck:before{content:"\f0d1"}.um-faicon-pinterest:before{content:"\f0d2"}.um-faicon-pinterest-square:before{content:"\f0d3"}.um-faicon-google-plus-square:before{content:"\f0d4"}.um-faicon-google-plus:before{content:"\f0d5"}.um-faicon-money:before{content:"\f0d6"}.um-faicon-caret-down:before{content:"\f0d7"}.um-faicon-caret-up:before{content:"\f0d8"}.um-faicon-caret-left:before{content:"\f0d9"}.um-faicon-caret-right:before{content:"\f0da"}.um-faicon-columns:before{content:"\f0db"}.um-faicon-sort:before,.um-faicon-unsorted:before{content:"\f0dc"}.um-faicon-sort-desc:before,.um-faicon-sort-down:before{content:"\f0dd"}.um-faicon-sort-asc:before,.um-faicon-sort-up:before{content:"\f0de"}.um-faicon-envelope:before{content:"\f0e0"}.um-faicon-linkedin:before{content:"\f0e1"}.um-faicon-rotate-left:before,.um-faicon-undo:before{content:"\f0e2"}.um-faicon-gavel:before,.um-faicon-legal:before{content:"\f0e3"}.um-faicon-dashboard:before,.um-faicon-tachometer:before{content:"\f0e4"}.um-faicon-comment-o:before{content:"\f0e5"}.um-faicon-comments-o:before{content:"\f0e6"}.um-faicon-bolt:before,.um-faicon-flash:before{content:"\f0e7"}.um-faicon-sitemap:before{content:"\f0e8"}.um-faicon-umbrella:before{content:"\f0e9"}.um-faicon-clipboard:before,.um-faicon-paste:before{content:"\f0ea"}.um-faicon-lightbulb-o:before{content:"\f0eb"}.um-faicon-exchange:before{content:"\f0ec"}.um-faicon-cloud-download:before{content:"\f0ed"}.um-faicon-cloud-upload:before{content:"\f0ee"}.um-faicon-user-md:before{content:"\f0f0"}.um-faicon-stethoscope:before{content:"\f0f1"}.um-faicon-suitcase:before{content:"\f0f2"}.um-faicon-bell-o:before{content:"\f0a2"}.um-faicon-coffee:before{content:"\f0f4"}.um-faicon-cutlery:before{content:"\f0f5"}.um-faicon-file-text-o:before{content:"\f0f6"}.um-faicon-building-o:before{content:"\f0f7"}.um-faicon-hospital-o:before{content:"\f0f8"}.um-faicon-ambulance:before{content:"\f0f9"}.um-faicon-medkit:before{content:"\f0fa"}.um-faicon-fighter-jet:before{content:"\f0fb"}.um-faicon-beer:before{content:"\f0fc"}.um-faicon-h-square:before{content:"\f0fd"}.um-faicon-plus-square:before{content:"\f0fe"}.um-faicon-angle-double-left:before{content:"\f100"}.um-faicon-angle-double-right:before{content:"\f101"}.um-faicon-angle-double-up:before{content:"\f102"}.um-faicon-angle-double-down:before{content:"\f103"}.um-faicon-angle-left:before{content:"\f104"}.um-faicon-angle-right:before{content:"\f105"}.um-faicon-angle-up:before{content:"\f106"}.um-faicon-angle-down:before{content:"\f107"}.um-faicon-desktop:before{content:"\f108"}.um-faicon-laptop:before{content:"\f109"}.um-faicon-tablet:before{content:"\f10a"}.um-faicon-mobile-phone:before,.um-faicon-mobile:before{content:"\f10b"}.um-faicon-circle-o:before{content:"\f10c"}.um-faicon-quote-left:before{content:"\f10d"}.um-faicon-quote-right:before{content:"\f10e"}.um-faicon-spinner:before{content:"\f110"}.um-faicon-circle:before{content:"\f111"}.um-faicon-mail-reply:before,.um-faicon-reply:before{content:"\f112"}.um-faicon-github-alt:before{content:"\f113"}.um-faicon-folder-o:before{content:"\f114"}.um-faicon-folder-open-o:before{content:"\f115"}.um-faicon-smile-o:before{content:"\f118"}.um-faicon-frown-o:before{content:"\f119"}.um-faicon-meh-o:before{content:"\f11a"}.um-faicon-gamepad:before{content:"\f11b"}.um-faicon-keyboard-o:before{content:"\f11c"}.um-faicon-flag-o:before{content:"\f11d"}.um-faicon-flag-checkered:before{content:"\f11e"}.um-faicon-terminal:before{content:"\f120"}.um-faicon-code:before{content:"\f121"}.um-faicon-mail-reply-all:before,.um-faicon-reply-all:before{content:"\f122"}.um-faicon-star-half-empty:before,.um-faicon-star-half-full:before,.um-faicon-star-half-o:before{content:"\f123"}.um-faicon-location-arrow:before{content:"\f124"}.um-faicon-crop:before{content:"\f125"}.um-faicon-code-fork:before{content:"\f126"}.um-faicon-chain-broken:before,.um-faicon-unlink:before{content:"\f127"}.um-faicon-question:before{content:"\f128"}.um-faicon-info:before{content:"\f129"}.um-faicon-exclamation:before{content:"\f12a"}.um-faicon-superscript:before{content:"\f12b"}.um-faicon-subscript:before{content:"\f12c"}.um-faicon-eraser:before{content:"\f12d"}.um-faicon-puzzle-piece:before{content:"\f12e"}.um-faicon-microphone:before{content:"\f130"}.um-faicon-microphone-slash:before{content:"\f131"}.um-faicon-shield:before{content:"\f132"}.um-faicon-calendar-o:before{content:"\f133"}.um-faicon-fire-extinguisher:before{content:"\f134"}.um-faicon-rocket:before{content:"\f135"}.um-faicon-maxcdn:before{content:"\f136"}.um-faicon-chevron-circle-left:before{content:"\f137"}.um-faicon-chevron-circle-right:before{content:"\f138"}.um-faicon-chevron-circle-up:before{content:"\f139"}.um-faicon-chevron-circle-down:before{content:"\f13a"}.um-faicon-html5:before{content:"\f13b"}.um-faicon-css3:before{content:"\f13c"}.um-faicon-anchor:before{content:"\f13d"}.um-faicon-unlock-alt:before{content:"\f13e"}.um-faicon-bullseye:before{content:"\f140"}.um-faicon-ellipsis-h:before{content:"\f141"}.um-faicon-ellipsis-v:before{content:"\f142"}.um-faicon-rss-square:before{content:"\f143"}.um-faicon-play-circle:before{content:"\f144"}.um-faicon-ticket:before{content:"\f145"}.um-faicon-minus-square:before{content:"\f146"}.um-faicon-minus-square-o:before{content:"\f147"}.um-faicon-level-up:before{content:"\f148"}.um-faicon-level-down:before{content:"\f149"}.um-faicon-check-square:before{content:"\f14a"}.um-faicon-pencil-square:before{content:"\f14b"}.um-faicon-external-link-square:before{content:"\f14c"}.um-faicon-share-square:before{content:"\f14d"}.um-faicon-compass:before{content:"\f14e"}.um-faicon-caret-square-o-down:before,.um-faicon-toggle-down:before{content:"\f150"}.um-faicon-caret-square-o-up:before,.um-faicon-toggle-up:before{content:"\f151"}.um-faicon-caret-square-o-right:before,.um-faicon-toggle-right:before{content:"\f152"}.um-faicon-eur:before,.um-faicon-euro:before{content:"\f153"}.um-faicon-gbp:before{content:"\f154"}.um-faicon-dollar:before,.um-faicon-usd:before{content:"\f155"}.um-faicon-inr:before,.um-faicon-rupee:before{content:"\f156"}.um-faicon-cny:before,.um-faicon-jpy:before,.um-faicon-rmb:before,.um-faicon-yen:before{content:"\f157"}.um-faicon-rouble:before,.um-faicon-rub:before,.um-faicon-ruble:before{content:"\f158"}.um-faicon-krw:before,.um-faicon-won:before{content:"\f159"}.um-faicon-bitcoin:before,.um-faicon-btc:before{content:"\f15a"}.um-faicon-file:before{content:"\f15b"}.um-faicon-file-text:before{content:"\f15c"}.um-faicon-sort-alpha-asc:before{content:"\f15d"}.um-faicon-sort-alpha-desc:before{content:"\f15e"}.um-faicon-sort-amount-asc:before{content:"\f160"}.um-faicon-sort-amount-desc:before{content:"\f161"}.um-faicon-sort-numeric-asc:before{content:"\f162"}.um-faicon-sort-numeric-desc:before{content:"\f163"}.um-faicon-thumbs-up:before{content:"\f164"}.um-faicon-thumbs-down:before{content:"\f165"}.um-faicon-youtube-square:before{content:"\f166"}.um-faicon-youtube:before{content:"\f167"}.um-faicon-xing:before{content:"\f168"}.um-faicon-xing-square:before{content:"\f169"}.um-faicon-youtube-play:before{content:"\f16a"}.um-faicon-dropbox:before{content:"\f16b"}.um-faicon-stack-overflow:before{content:"\f16c"}.um-faicon-instagram:before{content:"\f16d"}.um-faicon-flickr:before{content:"\f16e"}.um-faicon-adn:before{content:"\f170"}.um-faicon-bitbucket:before{content:"\f171"}.um-faicon-bitbucket-square:before{content:"\f172"}.um-faicon-tumblr:before{content:"\f173"}.um-faicon-tumblr-square:before{content:"\f174"}.um-faicon-long-arrow-down:before{content:"\f175"}.um-faicon-long-arrow-up:before{content:"\f176"}.um-faicon-long-arrow-left:before{content:"\f177"}.um-faicon-long-arrow-right:before{content:"\f178"}.um-faicon-apple:before{content:"\f179"}.um-faicon-windows:before{content:"\f17a"}.um-faicon-android:before{content:"\f17b"}.um-faicon-linux:before{content:"\f17c"}.um-faicon-dribbble:before{content:"\f17d"}.um-faicon-skype:before{content:"\f17e"}.um-faicon-foursquare:before{content:"\f180"}.um-faicon-trello:before{content:"\f181"}.um-faicon-female:before{content:"\f182"}.um-faicon-male:before{content:"\f183"}.um-faicon-gittip:before{content:"\f184"}.um-faicon-sun-o:before{content:"\f185"}.um-faicon-moon-o:before{content:"\f186"}.um-faicon-archive:before{content:"\f187"}.um-faicon-bug:before{content:"\f188"}.um-faicon-vk:before{content:"\f189"}.um-faicon-weibo:before{content:"\f18a"}.um-faicon-renren:before{content:"\f18b"}.um-faicon-pagelines:before{content:"\f18c"}.um-faicon-stack-exchange:before{content:"\f18d"}.um-faicon-arrow-circle-o-right:before{content:"\f18e"}.um-faicon-arrow-circle-o-left:before{content:"\f190"}.um-faicon-caret-square-o-left:before,.um-faicon-toggle-left:before{content:"\f191"}.um-faicon-dot-circle-o:before{content:"\f192"}.um-faicon-wheelchair:before{content:"\f193"}.um-faicon-vimeo-square:before{content:"\f194"}.um-faicon-try:before,.um-faicon-turkish-lira:before{content:"\f195"}.um-faicon-plus-square-o:before{content:"\f196"}.um-faicon-space-shuttle:before{content:"\f197"}.um-faicon-slack:before{content:"\f198"}.um-faicon-envelope-square:before{content:"\f199"}.um-faicon-wordpress:before{content:"\f19a"}.um-faicon-openid:before{content:"\f19b"}.um-faicon-bank:before,.um-faicon-institution:before,.um-faicon-university:before{content:"\f19c"}.um-faicon-graduation-cap:before,.um-faicon-mortar-board:before{content:"\f19d"}.um-faicon-yahoo:before{content:"\f19e"}.um-faicon-google:before{content:"\f1a0"}.um-faicon-reddit:before{content:"\f1a1"}.um-faicon-reddit-square:before{content:"\f1a2"}.um-faicon-stumbleupon-circle:before{content:"\f1a3"}.um-faicon-stumbleupon:before{content:"\f1a4"}.um-faicon-delicious:before{content:"\f1a5"}.um-faicon-digg:before{content:"\f1a6"}.um-faicon-pied-piper:before{content:"\f1a7"}.um-faicon-pied-piper-alt:before{content:"\f1a8"}.um-faicon-drupal:before{content:"\f1a9"}.um-faicon-joomla:before{content:"\f1aa"}.um-faicon-language:before{content:"\f1ab"}.um-faicon-fax:before{content:"\f1ac"}.um-faicon-building:before{content:"\f1ad"}.um-faicon-child:before{content:"\f1ae"}.um-faicon-paw:before{content:"\f1b0"}.um-faicon-spoon:before{content:"\f1b1"}.um-faicon-cube:before{content:"\f1b2"}.um-faicon-cubes:before{content:"\f1b3"}.um-faicon-behance:before{content:"\f1b4"}.um-faicon-behance-square:before{content:"\f1b5"}.um-faicon-steam:before{content:"\f1b6"}.um-faicon-steam-square:before{content:"\f1b7"}.um-faicon-recycle:before{content:"\f1b8"}.um-faicon-automobile:before,.um-faicon-car:before{content:"\f1b9"}.um-faicon-cab:before,.um-faicon-taxi:before{content:"\f1ba"}.um-faicon-tree:before{content:"\f1bb"}.um-faicon-spotify:before{content:"\f1bc"}.um-faicon-deviantart:before{content:"\f1bd"}.um-faicon-soundcloud:before{content:"\f1be"}.um-faicon-database:before{content:"\f1c0"}.um-faicon-file-pdf-o:before{content:"\f1c1"}.um-faicon-file-word-o:before{content:"\f1c2"}.um-faicon-file-excel-o:before{content:"\f1c3"}.um-faicon-file-powerpoint-o:before{content:"\f1c4"}.um-faicon-file-image-o:before,.um-faicon-file-photo-o:before,.um-faicon-file-picture-o:before{content:"\f1c5"}.um-faicon-file-archive-o:before,.um-faicon-file-zip-o:before{content:"\f1c6"}.um-faicon-file-audio-o:before,.um-faicon-file-sound-o:before{content:"\f1c7"}.um-faicon-file-movie-o:before,.um-faicon-file-video-o:before{content:"\f1c8"}.um-faicon-file-code-o:before{content:"\f1c9"}.um-faicon-vine:before{content:"\f1ca"}.um-faicon-codepen:before{content:"\f1cb"}.um-faicon-jsfiddle:before{content:"\f1cc"}.um-faicon-life-bouy:before,.um-faicon-life-buoy:before,.um-faicon-life-ring:before,.um-faicon-life-saver:before,.um-faicon-support:before{content:"\f1cd"}.um-faicon-circle-o-notch:before{content:"\f1ce"}.um-faicon-ra:before,.um-faicon-rebel:before{content:"\f1d0"}.um-faicon-empire:before,.um-faicon-ge:before{content:"\f1d1"}.um-faicon-git-square:before{content:"\f1d2"}.um-faicon-git:before{content:"\f1d3"}.um-faicon-hacker-news:before{content:"\f1d4"}.um-faicon-tencent-weibo:before{content:"\f1d5"}.um-faicon-qq:before{content:"\f1d6"}.um-faicon-wechat:before,.um-faicon-weixin:before{content:"\f1d7"}.um-faicon-paper-plane:before,.um-faicon-send:before{content:"\f1d8"}.um-faicon-paper-plane-o:before,.um-faicon-send-o:before{content:"\f1d9"}.um-faicon-history:before{content:"\f1da"}.um-faicon-circle-thin:before{content:"\f1db"}.um-faicon-header:before{content:"\f1dc"}.um-faicon-paragraph:before{content:"\f1dd"}.um-faicon-sliders:before{content:"\f1de"}.um-faicon-share-alt:before{content:"\f1e0"}.um-faicon-share-alt-square:before{content:"\f1e1"}.um-faicon-bomb:before{content:"\f1e2"}.um-faicon-futbol-o:before,.um-faicon-soccer-ball-o:before{content:"\f1e3"}.um-faicon-tty:before{content:"\f1e4"}.um-faicon-binoculars:before{content:"\f1e5"}.um-faicon-plug:before{content:"\f1e6"}.um-faicon-slideshare:before{content:"\f1e7"}.um-faicon-twitch:before{content:"\f1e8"}.um-faicon-yelp:before{content:"\f1e9"}.um-faicon-newspaper-o:before{content:"\f1ea"}.um-faicon-wifi:before{content:"\f1eb"}.um-faicon-calculator:before{content:"\f1ec"}.um-faicon-paypal:before{content:"\f1ed"}.um-faicon-google-wallet:before{content:"\f1ee"}.um-faicon-cc-visa:before{content:"\f1f0"}.um-faicon-cc-mastercard:before{content:"\f1f1"}.um-faicon-cc-discover:before{content:"\f1f2"}.um-faicon-cc-amex:before{content:"\f1f3"}.um-faicon-cc-paypal:before{content:"\f1f4"}.um-faicon-cc-stripe:before{content:"\f1f5"}.um-faicon-bell-slash:before{content:"\f1f6"}.um-faicon-bell-slash-o:before{content:"\f1f7"}.um-faicon-trash:before{content:"\f1f8"}.um-faicon-copyright:before{content:"\f1f9"}.um-faicon-at:before{content:"\f1fa"}.um-faicon-eyedropper:before{content:"\f1fb"}.um-faicon-paint-brush:before{content:"\f1fc"}.um-faicon-birthday-cake:before{content:"\f1fd"}.um-faicon-area-chart:before{content:"\f1fe"}.um-faicon-pie-chart:before{content:"\f200"}.um-faicon-line-chart:before{content:"\f201"}.um-faicon-lastfm:before{content:"\f202"}.um-faicon-lastfm-square:before{content:"\f203"}.um-faicon-toggle-off:before{content:"\f204"}.um-faicon-toggle-on:before{content:"\f205"}.um-faicon-bicycle:before{content:"\f206"}.um-faicon-bus:before{content:"\f207"}.um-faicon-ioxhost:before{content:"\f208"}.um-faicon-angellist:before{content:"\f209"}.um-faicon-cc:before{content:"\f20a"}.um-faicon-ils:before,.um-faicon-shekel:before,.um-faicon-sheqel:before{content:"\f20b"}.um-faicon-meanpath:before{content:"\f20c"}@font-face{font-family:Ionicons;src:url(../font/ionicons.eot?v=2.0.0);src:url(../font/ionicons.eot?v=2.0.0#iefix) format("embedded-opentype"),url(../font/ionicons.woff?v=2.0.0) format("woff"),url(../font/ionicons.ttf?v=2.0.0) format("truetype"),url(../font/ionicons.svg?v=2.0.0#Ionicons) format("svg");font-weight:400;font-style:normal}[class*=" um-icon-"]:before,[class^=um-icon-]:before{font-family:Ionicons!important;font-style:normal!important;font-weight:400!important;font-variant:normal!important;text-transform:none!important;speak:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.um-icon-alert:before{content:"\f101"}.um-icon-alert-circled:before{content:"\f100"}.um-icon-android-add:before{content:"\f2c7"}.um-icon-android-add-circle:before{content:"\f359"}.um-icon-android-alarm-clock:before{content:"\f35a"}.um-icon-android-alert:before{content:"\f35b"}.um-icon-android-apps:before{content:"\f35c"}.um-icon-android-archive:before{content:"\f2c9"}.um-icon-android-arrow-back:before{content:"\f2ca"}.um-icon-android-arrow-down:before{content:"\f35d"}.um-icon-android-arrow-dropdown:before{content:"\f35f"}.um-icon-android-arrow-dropdown-circle:before{content:"\f35e"}.um-icon-android-arrow-dropleft:before{content:"\f361"}.um-icon-android-arrow-dropleft-circle:before{content:"\f360"}.um-icon-android-arrow-dropright:before{content:"\f363"}.um-icon-android-arrow-dropright-circle:before{content:"\f362"}.um-icon-android-arrow-dropup:before{content:"\f365"}.um-icon-android-arrow-dropup-circle:before{content:"\f364"}.um-icon-android-arrow-forward:before{content:"\f30f"}.um-icon-android-arrow-up:before{content:"\f366"}.um-icon-android-attach:before{content:"\f367"}.um-icon-android-bar:before{content:"\f368"}.um-icon-android-bicycle:before{content:"\f369"}.um-icon-android-boat:before{content:"\f36a"}.um-icon-android-bookmark:before{content:"\f36b"}.um-icon-android-bulb:before{content:"\f36c"}.um-icon-android-bus:before{content:"\f36d"}.um-icon-android-calendar:before{content:"\f2d1"}.um-icon-android-call:before{content:"\f2d2"}.um-icon-android-camera:before{content:"\f2d3"}.um-icon-android-cancel:before{content:"\f36e"}.um-icon-android-car:before{content:"\f36f"}.um-icon-android-cart:before{content:"\f370"}.um-icon-android-chat:before{content:"\f2d4"}.um-icon-android-checkbox:before{content:"\f374"}.um-icon-android-checkbox-blank:before{content:"\f371"}.um-icon-android-checkbox-outline:before{content:"\f373"}.um-icon-android-checkbox-outline-blank:before{content:"\f372"}.um-icon-android-checkmark-circle:before{content:"\f375"}.um-icon-android-clipboard:before{content:"\f376"}.um-icon-android-close:before{content:"\f2d7"}.um-icon-android-cloud:before{content:"\f37a"}.um-icon-android-cloud-circle:before{content:"\f377"}.um-icon-android-cloud-done:before{content:"\f378"}.um-icon-android-cloud-outline:before{content:"\f379"}.um-icon-android-color-palette:before{content:"\f37b"}.um-icon-android-compass:before{content:"\f37c"}.um-icon-android-contact:before{content:"\f2d8"}.um-icon-android-contacts:before{content:"\f2d9"}.um-icon-android-contract:before{content:"\f37d"}.um-icon-android-create:before{content:"\f37e"}.um-icon-android-delete:before{content:"\f37f"}.um-icon-android-desktop:before{content:"\f380"}.um-icon-android-document:before{content:"\f381"}.um-icon-android-done:before{content:"\f383"}.um-icon-android-done-all:before{content:"\f382"}.um-icon-android-download:before{content:"\f2dd"}.um-icon-android-drafts:before{content:"\f384"}.um-icon-android-exit:before{content:"\f385"}.um-icon-android-expand:before{content:"\f386"}.um-icon-android-favorite:before{content:"\f388"}.um-icon-android-favorite-outline:before{content:"\f387"}.um-icon-android-film:before{content:"\f389"}.um-icon-android-folder:before{content:"\f2e0"}.um-icon-android-folder-open:before{content:"\f38a"}.um-icon-android-funnel:before{content:"\f38b"}.um-icon-android-globe:before{content:"\f38c"}.um-icon-android-hand:before{content:"\f2e3"}.um-icon-android-hangout:before{content:"\f38d"}.um-icon-android-happy:before{content:"\f38e"}.um-icon-android-home:before{content:"\f38f"}.um-icon-android-image:before{content:"\f2e4"}.um-icon-android-laptop:before{content:"\f390"}.um-icon-android-list:before{content:"\f391"}.um-icon-android-locate:before{content:"\f2e9"}.um-icon-android-lock:before{content:"\f392"}.um-icon-android-mail:before{content:"\f2eb"}.um-icon-android-map:before{content:"\f393"}.um-icon-android-menu:before{content:"\f394"}.um-icon-android-microphone:before{content:"\f2ec"}.um-icon-android-microphone-off:before{content:"\f395"}.um-icon-android-more-horizontal:before{content:"\f396"}.um-icon-android-more-vertical:before{content:"\f397"}.um-icon-android-navigate:before{content:"\f398"}.um-icon-android-notifications:before{content:"\f39b"}.um-icon-android-notifications-none:before{content:"\f399"}.um-icon-android-notifications-off:before{content:"\f39a"}.um-icon-android-open:before{content:"\f39c"}.um-icon-android-options:before{content:"\f39d"}.um-icon-android-people:before{content:"\f39e"}.um-icon-android-person:before{content:"\f3a0"}.um-icon-android-person-add:before{content:"\f39f"}.um-icon-android-phone-landscape:before{content:"\f3a1"}.um-icon-android-phone-portrait:before{content:"\f3a2"}.um-icon-android-pin:before{content:"\f3a3"}.um-icon-android-plane:before{content:"\f3a4"}.um-icon-android-playstore:before{content:"\f2f0"}.um-icon-android-print:before{content:"\f3a5"}.um-icon-android-radio-button-off:before{content:"\f3a6"}.um-icon-android-radio-button-on:before{content:"\f3a7"}.um-icon-android-refresh:before{content:"\f3a8"}.um-icon-android-remove:before{content:"\f2f4"}.um-icon-android-remove-circle:before{content:"\f3a9"}.um-icon-android-restaurant:before{content:"\f3aa"}.um-icon-android-sad:before{content:"\f3ab"}.um-icon-android-search:before{content:"\f2f5"}.um-icon-android-send:before{content:"\f2f6"}.um-icon-android-settings:before{content:"\f2f7"}.um-icon-android-share:before{content:"\f2f8"}.um-icon-android-share-alt:before{content:"\f3ac"}.um-icon-android-star:before{content:"\f2fc"}.um-icon-android-star-half:before{content:"\f3ad"}.um-icon-android-star-outline:before{content:"\f3ae"}.um-icon-android-stopwatch:before{content:"\f2fd"}.um-icon-android-subway:before{content:"\f3af"}.um-icon-android-sunny:before{content:"\f3b0"}.um-icon-android-sync:before{content:"\f3b1"}.um-icon-android-textsms:before{content:"\f3b2"}.um-icon-android-time:before{content:"\f3b3"}.um-icon-android-train:before{content:"\f3b4"}.um-icon-android-unlock:before{content:"\f3b5"}.um-icon-android-upload:before{content:"\f3b6"}.um-icon-android-volume-down:before{content:"\f3b7"}.um-icon-android-volume-mute:before{content:"\f3b8"}.um-icon-android-volume-off:before{content:"\f3b9"}.um-icon-android-volume-up:before{content:"\f3ba"}.um-icon-android-walk:before{content:"\f3bb"}.um-icon-android-warning:before{content:"\f3bc"}.um-icon-android-watch:before{content:"\f3bd"}.um-icon-android-wifi:before{content:"\f305"}.um-icon-aperture:before{content:"\f313"}.um-icon-archive:before{content:"\f102"}.um-icon-arrow-down-a:before{content:"\f103"}.um-icon-arrow-down-b:before{content:"\f104"}.um-icon-arrow-down-c:before{content:"\f105"}.um-icon-arrow-expand:before{content:"\f25e"}.um-icon-arrow-graph-down-left:before{content:"\f25f"}.um-icon-arrow-graph-down-right:before{content:"\f260"}.um-icon-arrow-graph-up-left:before{content:"\f261"}.um-icon-arrow-graph-up-right:before{content:"\f262"}.um-icon-arrow-left-a:before{content:"\f106"}.um-icon-arrow-left-b:before{content:"\f107"}.um-icon-arrow-left-c:before{content:"\f108"}.um-icon-arrow-move:before{content:"\f263"}.um-icon-arrow-resize:before{content:"\f264"}.um-icon-arrow-return-left:before{content:"\f265"}.um-icon-arrow-return-right:before{content:"\f266"}.um-icon-arrow-right-a:before{content:"\f109"}.um-icon-arrow-right-b:before{content:"\f10a"}.um-icon-arrow-right-c:before{content:"\f10b"}.um-icon-arrow-shrink:before{content:"\f267"}.um-icon-arrow-swap:before{content:"\f268"}.um-icon-arrow-up-a:before{content:"\f10c"}.um-icon-arrow-up-b:before{content:"\f10d"}.um-icon-arrow-up-c:before{content:"\f10e"}.um-icon-asterisk:before{content:"\f314"}.um-icon-at:before{content:"\f10f"}.um-icon-backspace:before{content:"\f3bf"}.um-icon-backspace-outline:before{content:"\f3be"}.um-icon-bag:before{content:"\f110"}.um-icon-battery-charging:before{content:"\f111"}.um-icon-battery-empty:before{content:"\f112"}.um-icon-battery-full:before{content:"\f113"}.um-icon-battery-half:before{content:"\f114"}.um-icon-battery-low:before{content:"\f115"}.um-icon-beaker:before{content:"\f269"}.um-icon-beer:before{content:"\f26a"}.um-icon-bluetooth:before{content:"\f116"}.um-icon-bonfire:before{content:"\f315"}.um-icon-bookmark:before{content:"\f26b"}.um-icon-bowtie:before{content:"\f3c0"}.um-icon-briefcase:before{content:"\f26c"}.um-icon-bug:before{content:"\f2be"}.um-icon-calculator:before{content:"\f26d"}.um-icon-calendar:before{content:"\f117"}.um-icon-camera:before{content:"\f118"}.um-icon-card:before{content:"\f119"}.um-icon-cash:before{content:"\f316"}.um-icon-chatbox:before{content:"\f11b"}.um-icon-chatbox-working:before{content:"\f11a"}.um-icon-chatboxes:before{content:"\f11c"}.um-icon-chatbubble:before{content:"\f11e"}.um-icon-chatbubble-working:before{content:"\f11d"}.um-icon-chatbubbles:before{content:"\f11f"}.um-icon-checkmark:before{content:"\f122"}.um-icon-checkmark-circled:before{content:"\f120"}.um-icon-checkmark-round:before{content:"\f121"}.um-icon-chevron-down:before{content:"\f123"}.um-icon-chevron-left:before{content:"\f124"}.um-icon-chevron-right:before{content:"\f125"}.um-icon-chevron-up:before{content:"\f126"}.um-icon-clipboard:before{content:"\f127"}.um-icon-clock:before{content:"\f26e"}.um-icon-close:before{content:"\f12a"}.um-icon-close-circled:before{content:"\f128"}.um-icon-close-round:before{content:"\f129"}.um-icon-closed-captioning:before{content:"\f317"}.um-icon-cloud:before{content:"\f12b"}.um-icon-code:before{content:"\f271"}.um-icon-code-download:before{content:"\f26f"}.um-icon-code-working:before{content:"\f270"}.um-icon-coffee:before{content:"\f272"}.um-icon-compass:before{content:"\f273"}.um-icon-compose:before{content:"\f12c"}.um-icon-connection-bars:before{content:"\f274"}.um-icon-contrast:before{content:"\f275"}.um-icon-crop:before{content:"\f3c1"}.um-icon-cube:before{content:"\f318"}.um-icon-disc:before{content:"\f12d"}.um-icon-document:before{content:"\f12f"}.um-icon-document-text:before{content:"\f12e"}.um-icon-drag:before{content:"\f130"}.um-icon-earth:before{content:"\f276"}.um-icon-easel:before{content:"\f3c2"}.um-icon-edit:before{content:"\f2bf"}.um-icon-egg:before{content:"\f277"}.um-icon-eject:before{content:"\f131"}.um-icon-email:before{content:"\f132"}.um-icon-email-unread:before{content:"\f3c3"}.um-icon-erlenmeyer-flask:before{content:"\f3c5"}.um-icon-erlenmeyer-flask-bubbles:before{content:"\f3c4"}.um-icon-eye:before{content:"\f133"}.um-icon-eye-disabled:before{content:"\f306"}.um-icon-female:before{content:"\f278"}.um-icon-filing:before{content:"\f134"}.um-icon-film-marker:before{content:"\f135"}.um-icon-fireball:before{content:"\f319"}.um-icon-flag:before{content:"\f279"}.um-icon-flame:before{content:"\f31a"}.um-icon-flash:before{content:"\f137"}.um-icon-flash-off:before{content:"\f136"}.um-icon-folder:before{content:"\f139"}.um-icon-fork:before{content:"\f27a"}.um-icon-fork-repo:before{content:"\f2c0"}.um-icon-forward:before{content:"\f13a"}.um-icon-funnel:before{content:"\f31b"}.um-icon-gear-a:before{content:"\f13d"}.um-icon-gear-b:before{content:"\f13e"}.um-icon-grid:before{content:"\f13f"}.um-icon-hammer:before{content:"\f27b"}.um-icon-happy:before{content:"\f31c"}.um-icon-happy-outline:before{content:"\f3c6"}.um-icon-headphone:before{content:"\f140"}.um-icon-heart:before{content:"\f141"}.um-icon-heart-broken:before{content:"\f31d"}.um-icon-help:before{content:"\f143"}.um-icon-help-buoy:before{content:"\f27c"}.um-icon-help-circled:before{content:"\f142"}.um-icon-home:before{content:"\f144"}.um-icon-icecream:before{content:"\f27d"}.um-icon-image:before{content:"\f147"}.um-icon-images:before{content:"\f148"}.um-icon-information:before{content:"\f14a"}.um-icon-information-circled:before{content:"\f149"}.um-icon-ionic:before{content:"\f14b"}.um-icon-ios-alarm:before{content:"\f3c8"}.um-icon-ios-alarm-outline:before{content:"\f3c7"}.um-icon-ios-albums:before{content:"\f3ca"}.um-icon-ios-albums-outline:before{content:"\f3c9"}.um-icon-ios-americanfootball:before{content:"\f3cc"}.um-icon-ios-americanfootball-outline:before{content:"\f3cb"}.um-icon-ios-analytics:before{content:"\f3ce"}.um-icon-ios-analytics-outline:before{content:"\f3cd"}.um-icon-ios-arrow-back:before{content:"\f3cf"}.um-icon-ios-arrow-down:before{content:"\f3d0"}.um-icon-ios-arrow-forward:before{content:"\f3d1"}.um-icon-ios-arrow-left:before{content:"\f3d2"}.um-icon-ios-arrow-right:before{content:"\f3d3"}.um-icon-ios-arrow-thin-down:before{content:"\f3d4"}.um-icon-ios-arrow-thin-left:before{content:"\f3d5"}.um-icon-ios-arrow-thin-right:before{content:"\f3d6"}.um-icon-ios-arrow-thin-up:before{content:"\f3d7"}.um-icon-ios-arrow-up:before{content:"\f3d8"}.um-icon-ios-at:before{content:"\f3da"}.um-icon-ios-at-outline:before{content:"\f3d9"}.um-icon-ios-barcode:before{content:"\f3dc"}.um-icon-ios-barcode-outline:before{content:"\f3db"}.um-icon-ios-baseball:before{content:"\f3de"}.um-icon-ios-baseball-outline:before{content:"\f3dd"}.um-icon-ios-basketball:before{content:"\f3e0"}.um-icon-ios-basketball-outline:before{content:"\f3df"}.um-icon-ios-bell:before{content:"\f3e2"}.um-icon-ios-bell-outline:before{content:"\f3e1"}.um-icon-ios-body:before{content:"\f3e4"}.um-icon-ios-body-outline:before{content:"\f3e3"}.um-icon-ios-bolt:before{content:"\f3e6"}.um-icon-ios-bolt-outline:before{content:"\f3e5"}.um-icon-ios-book:before{content:"\f3e8"}.um-icon-ios-book-outline:before{content:"\f3e7"}.um-icon-ios-bookmarks:before{content:"\f3ea"}.um-icon-ios-bookmarks-outline:before{content:"\f3e9"}.um-icon-ios-box:before{content:"\f3ec"}.um-icon-ios-box-outline:before{content:"\f3eb"}.um-icon-ios-briefcase:before{content:"\f3ee"}.um-icon-ios-briefcase-outline:before{content:"\f3ed"}.um-icon-ios-browsers:before{content:"\f3f0"}.um-icon-ios-browsers-outline:before{content:"\f3ef"}.um-icon-ios-calculator:before{content:"\f3f2"}.um-icon-ios-calculator-outline:before{content:"\f3f1"}.um-icon-ios-calendar:before{content:"\f3f4"}.um-icon-ios-calendar-outline:before{content:"\f3f3"}.um-icon-ios-camera:before{content:"\f3f6"}.um-icon-ios-camera-outline:before{content:"\f3f5"}.um-icon-ios-cart:before{content:"\f3f8"}.um-icon-ios-cart-outline:before{content:"\f3f7"}.um-icon-ios-chatboxes:before{content:"\f3fa"}.um-icon-ios-chatboxes-outline:before{content:"\f3f9"}.um-icon-ios-chatbubble:before{content:"\f3fc"}.um-icon-ios-chatbubble-outline:before{content:"\f3fb"}.um-icon-ios-checkmark:before{content:"\f3ff"}.um-icon-ios-checkmark-empty:before{content:"\f3fd"}.um-icon-ios-checkmark-outline:before{content:"\f3fe"}.um-icon-ios-circle-filled:before{content:"\f400"}.um-icon-ios-circle-outline:before{content:"\f401"}.um-icon-ios-clock:before{content:"\f403"}.um-icon-ios-clock-outline:before{content:"\f402"}.um-icon-ios-close:before{content:"\f406"}.um-icon-ios-close-empty:before{content:"\f404"}.um-icon-ios-close-outline:before{content:"\f405"}.um-icon-ios-cloud:before{content:"\f40c"}.um-icon-ios-cloud-download:before{content:"\f408"}.um-icon-ios-cloud-download-outline:before{content:"\f407"}.um-icon-ios-cloud-outline:before{content:"\f409"}.um-icon-ios-cloud-upload:before{content:"\f40b"}.um-icon-ios-cloud-upload-outline:before{content:"\f40a"}.um-icon-ios-cloudy:before{content:"\f410"}.um-icon-ios-cloudy-night:before{content:"\f40e"}.um-icon-ios-cloudy-night-outline:before{content:"\f40d"}.um-icon-ios-cloudy-outline:before{content:"\f40f"}.um-icon-ios-cog:before{content:"\f412"}.um-icon-ios-cog-outline:before{content:"\f411"}.um-icon-ios-color-filter:before{content:"\f414"}.um-icon-ios-color-filter-outline:before{content:"\f413"}.um-icon-ios-color-wand:before{content:"\f416"}.um-icon-ios-color-wand-outline:before{content:"\f415"}.um-icon-ios-compose:before{content:"\f418"}.um-icon-ios-compose-outline:before{content:"\f417"}.um-icon-ios-contact:before{content:"\f41a"}.um-icon-ios-contact-outline:before{content:"\f419"}.um-icon-ios-copy:before{content:"\f41c"}.um-icon-ios-copy-outline:before{content:"\f41b"}.um-icon-ios-crop:before{content:"\f41e"}.um-icon-ios-crop-strong:before{content:"\f41d"}.um-icon-ios-download:before{content:"\f420"}.um-icon-ios-download-outline:before{content:"\f41f"}.um-icon-ios-drag:before{content:"\f421"}.um-icon-ios-email:before{content:"\f423"}.um-icon-ios-email-outline:before{content:"\f422"}.um-icon-ios-eye:before{content:"\f425"}.um-icon-ios-eye-outline:before{content:"\f424"}.um-icon-ios-fastforward:before{content:"\f427"}.um-icon-ios-fastforward-outline:before{content:"\f426"}.um-icon-ios-filing:before{content:"\f429"}.um-icon-ios-filing-outline:before{content:"\f428"}.um-icon-ios-film:before{content:"\f42b"}.um-icon-ios-film-outline:before{content:"\f42a"}.um-icon-ios-flag:before{content:"\f42d"}.um-icon-ios-flag-outline:before{content:"\f42c"}.um-icon-ios-flame:before{content:"\f42f"}.um-icon-ios-flame-outline:before{content:"\f42e"}.um-icon-ios-flask:before{content:"\f431"}.um-icon-ios-flask-outline:before{content:"\f430"}.um-icon-ios-flower:before{content:"\f433"}.um-icon-ios-flower-outline:before{content:"\f432"}.um-icon-ios-folder:before{content:"\f435"}.um-icon-ios-folder-outline:before{content:"\f434"}.um-icon-ios-football:before{content:"\f437"}.um-icon-ios-football-outline:before{content:"\f436"}.um-icon-ios-game-controller-a:before{content:"\f439"}.um-icon-ios-game-controller-a-outline:before{content:"\f438"}.um-icon-ios-game-controller-b:before{content:"\f43b"}.um-icon-ios-game-controller-b-outline:before{content:"\f43a"}.um-icon-ios-gear:before{content:"\f43d"}.um-icon-ios-gear-outline:before{content:"\f43c"}.um-icon-ios-glasses:before{content:"\f43f"}.um-icon-ios-glasses-outline:before{content:"\f43e"}.um-icon-ios-grid-view:before{content:"\f441"}.um-icon-ios-grid-view-outline:before{content:"\f440"}.um-icon-ios-heart:before{content:"\f443"}.um-icon-ios-heart-outline:before{content:"\f442"}.um-icon-ios-help:before{content:"\f446"}.um-icon-ios-help-empty:before{content:"\f444"}.um-icon-ios-help-outline:before{content:"\f445"}.um-icon-ios-home:before{content:"\f448"}.um-icon-ios-home-outline:before{content:"\f447"}.um-icon-ios-infinite:before{content:"\f44a"}.um-icon-ios-infinite-outline:before{content:"\f449"}.um-icon-ios-information:before{content:"\f44d"}.um-icon-ios-information-empty:before{content:"\f44b"}.um-icon-ios-information-outline:before{content:"\f44c"}.um-icon-ios-ionic-outline:before{content:"\f44e"}.um-icon-ios-keypad:before{content:"\f450"}.um-icon-ios-keypad-outline:before{content:"\f44f"}.um-icon-ios-lightbulb:before{content:"\f452"}.um-icon-ios-lightbulb-outline:before{content:"\f451"}.um-icon-ios-list:before{content:"\f454"}.um-icon-ios-list-outline:before{content:"\f453"}.um-icon-ios-location:before{content:"\f456"}.um-icon-ios-location-outline:before{content:"\f455"}.um-icon-ios-locked:before{content:"\f458"}.um-icon-ios-locked-outline:before{content:"\f457"}.um-icon-ios-loop:before{content:"\f45a"}.um-icon-ios-loop-strong:before{content:"\f459"}.um-icon-ios-medical:before{content:"\f45c"}.um-icon-ios-medical-outline:before{content:"\f45b"}.um-icon-ios-medkit:before{content:"\f45e"}.um-icon-ios-medkit-outline:before{content:"\f45d"}.um-icon-ios-mic:before{content:"\f461"}.um-icon-ios-mic-off:before{content:"\f45f"}.um-icon-ios-mic-outline:before{content:"\f460"}.um-icon-ios-minus:before{content:"\f464"}.um-icon-ios-minus-empty:before{content:"\f462"}.um-icon-ios-minus-outline:before{content:"\f463"}.um-icon-ios-monitor:before{content:"\f466"}.um-icon-ios-monitor-outline:before{content:"\f465"}.um-icon-ios-moon:before{content:"\f468"}.um-icon-ios-moon-outline:before{content:"\f467"}.um-icon-ios-more:before{content:"\f46a"}.um-icon-ios-more-outline:before{content:"\f469"}.um-icon-ios-musical-note:before{content:"\f46b"}.um-icon-ios-musical-notes:before{content:"\f46c"}.um-icon-ios-navigate:before{content:"\f46e"}.um-icon-ios-navigate-outline:before{content:"\f46d"}.um-icon-ios-nutrition:before{content:"\f470"}.um-icon-ios-nutrition-outline:before{content:"\f46f"}.um-icon-ios-paper:before{content:"\f472"}.um-icon-ios-paper-outline:before{content:"\f471"}.um-icon-ios-paperplane:before{content:"\f474"}.um-icon-ios-paperplane-outline:before{content:"\f473"}.um-icon-ios-partlysunny:before{content:"\f476"}.um-icon-ios-partlysunny-outline:before{content:"\f475"}.um-icon-ios-pause:before{content:"\f478"}.um-icon-ios-pause-outline:before{content:"\f477"}.um-icon-ios-paw:before{content:"\f47a"}.um-icon-ios-paw-outline:before{content:"\f479"}.um-icon-ios-people:before{content:"\f47c"}.um-icon-ios-people-outline:before{content:"\f47b"}.um-icon-ios-person:before{content:"\f47e"}.um-icon-ios-person-outline:before{content:"\f47d"}.um-icon-ios-personadd:before{content:"\f480"}.um-icon-ios-personadd-outline:before{content:"\f47f"}.um-icon-ios-photos:before{content:"\f482"}.um-icon-ios-photos-outline:before{content:"\f481"}.um-icon-ios-pie:before{content:"\f484"}.um-icon-ios-pie-outline:before{content:"\f483"}.um-icon-ios-pint:before{content:"\f486"}.um-icon-ios-pint-outline:before{content:"\f485"}.um-icon-ios-play:before{content:"\f488"}.um-icon-ios-play-outline:before{content:"\f487"}.um-icon-ios-plus:before{content:"\f48b"}.um-icon-ios-plus-empty:before{content:"\f489"}.um-icon-ios-plus-outline:before{content:"\f48a"}.um-icon-ios-pricetag:before{content:"\f48d"}.um-icon-ios-pricetag-outline:before{content:"\f48c"}.um-icon-ios-pricetags:before{content:"\f48f"}.um-icon-ios-pricetags-outline:before{content:"\f48e"}.um-icon-ios-printer:before{content:"\f491"}.um-icon-ios-printer-outline:before{content:"\f490"}.um-icon-ios-pulse:before{content:"\f493"}.um-icon-ios-pulse-strong:before{content:"\f492"}.um-icon-ios-rainy:before{content:"\f495"}.um-icon-ios-rainy-outline:before{content:"\f494"}.um-icon-ios-recording:before{content:"\f497"}.um-icon-ios-recording-outline:before{content:"\f496"}.um-icon-ios-redo:before{content:"\f499"}.um-icon-ios-redo-outline:before{content:"\f498"}.um-icon-ios-refresh:before{content:"\f49c"}.um-icon-ios-refresh-empty:before{content:"\f49a"}.um-icon-ios-refresh-outline:before{content:"\f49b"}.um-icon-ios-reload:before{content:"\f49d"}.um-icon-ios-reverse-camera:before{content:"\f49f"}.um-icon-ios-reverse-camera-outline:before{content:"\f49e"}.um-icon-ios-rewind:before{content:"\f4a1"}.um-icon-ios-rewind-outline:before{content:"\f4a0"}.um-icon-ios-rose:before{content:"\f4a3"}.um-icon-ios-rose-outline:before{content:"\f4a2"}.um-icon-ios-search:before{content:"\f4a5"}.um-icon-ios-search-strong:before{content:"\f4a4"}.um-icon-ios-settings:before{content:"\f4a7"}.um-icon-ios-settings-strong:before{content:"\f4a6"}.um-icon-ios-shuffle:before{content:"\f4a9"}.um-icon-ios-shuffle-strong:before{content:"\f4a8"}.um-icon-ios-skipbackward:before{content:"\f4ab"}.um-icon-ios-skipbackward-outline:before{content:"\f4aa"}.um-icon-ios-skipforward:before{content:"\f4ad"}.um-icon-ios-skipforward-outline:before{content:"\f4ac"}.um-icon-ios-snowy:before{content:"\f4ae"}.um-icon-ios-speedometer:before{content:"\f4b0"}.um-icon-ios-speedometer-outline:before{content:"\f4af"}.um-icon-ios-star:before{content:"\f4b3"}.um-icon-ios-star-half:before{content:"\f4b1"}.um-icon-ios-star-outline:before{content:"\f4b2"}.um-icon-ios-stopwatch:before{content:"\f4b5"}.um-icon-ios-stopwatch-outline:before{content:"\f4b4"}.um-icon-ios-sunny:before{content:"\f4b7"}.um-icon-ios-sunny-outline:before{content:"\f4b6"}.um-icon-ios-telephone:before{content:"\f4b9"}.um-icon-ios-telephone-outline:before{content:"\f4b8"}.um-icon-ios-tennisball:before{content:"\f4bb"}.um-icon-ios-tennisball-outline:before{content:"\f4ba"}.um-icon-ios-thunderstorm:before{content:"\f4bd"}.um-icon-ios-thunderstorm-outline:before{content:"\f4bc"}.um-icon-ios-time:before{content:"\f4bf"}.um-icon-ios-time-outline:before{content:"\f4be"}.um-icon-ios-timer:before{content:"\f4c1"}.um-icon-ios-timer-outline:before{content:"\f4c0"}.um-icon-ios-toggle:before{content:"\f4c3"}.um-icon-ios-toggle-outline:before{content:"\f4c2"}.um-icon-ios-trash:before{content:"\f4c5"}.um-icon-ios-trash-outline:before{content:"\f4c4"}.um-icon-ios-undo:before{content:"\f4c7"}.um-icon-ios-undo-outline:before{content:"\f4c6"}.um-icon-ios-unlocked:before{content:"\f4c9"}.um-icon-ios-unlocked-outline:before{content:"\f4c8"}.um-icon-ios-upload:before{content:"\f4cb"}.um-icon-ios-upload-outline:before{content:"\f4ca"}.um-icon-ios-videocam:before{content:"\f4cd"}.um-icon-ios-videocam-outline:before{content:"\f4cc"}.um-icon-ios-volume-high:before{content:"\f4ce"}.um-icon-ios-volume-low:before{content:"\f4cf"}.um-icon-ios-wineglass:before{content:"\f4d1"}.um-icon-ios-wineglass-outline:before{content:"\f4d0"}.um-icon-ios-world:before{content:"\f4d3"}.um-icon-ios-world-outline:before{content:"\f4d2"}.um-icon-ipad:before{content:"\f1f9"}.um-icon-iphone:before{content:"\f1fa"}.um-icon-ipod:before{content:"\f1fb"}.um-icon-jet:before{content:"\f295"}.um-icon-key:before{content:"\f296"}.um-icon-knife:before{content:"\f297"}.um-icon-laptop:before{content:"\f1fc"}.um-icon-leaf:before{content:"\f1fd"}.um-icon-levels:before{content:"\f298"}.um-icon-lightbulb:before{content:"\f299"}.um-icon-link:before{content:"\f1fe"}.um-icon-load-a:before{content:"\f29a"}.um-icon-load-b:before{content:"\f29b"}.um-icon-load-c:before{content:"\f29c"}.um-icon-load-d:before{content:"\f29d"}.um-icon-location:before{content:"\f1ff"}.um-icon-lock-combination:before{content:"\f4d4"}.um-icon-locked:before{content:"\f200"}.um-icon-log-in:before{content:"\f29e"}.um-icon-log-out:before{content:"\f29f"}.um-icon-loop:before{content:"\f201"}.um-icon-magnet:before{content:"\f2a0"}.um-icon-male:before{content:"\f2a1"}.um-icon-man:before{content:"\f202"}.um-icon-map:before{content:"\f203"}.um-icon-medkit:before{content:"\f2a2"}.um-icon-merge:before{content:"\f33f"}.um-icon-mic-a:before{content:"\f204"}.um-icon-mic-b:before{content:"\f205"}.um-icon-mic-c:before{content:"\f206"}.um-icon-minus:before{content:"\f209"}.um-icon-minus-circled:before{content:"\f207"}.um-icon-minus-round:before{content:"\f208"}.um-icon-model-s:before{content:"\f2c1"}.um-icon-monitor:before{content:"\f20a"}.um-icon-more:before{content:"\f20b"}.um-icon-mouse:before{content:"\f340"}.um-icon-music-note:before{content:"\f20c"}.um-icon-navicon:before{content:"\f20e"}.um-icon-navicon-round:before{content:"\f20d"}.um-icon-navigate:before{content:"\f2a3"}.um-icon-network:before{content:"\f341"}.um-icon-no-smoking:before{content:"\f2c2"}.um-icon-nuclear:before{content:"\f2a4"}.um-icon-outlet:before{content:"\f342"}.um-icon-paintbrush:before{content:"\f4d5"}.um-icon-paintbucket:before{content:"\f4d6"}.um-icon-paper-airplane:before{content:"\f2c3"}.um-icon-paperclip:before{content:"\f20f"}.um-icon-pause:before{content:"\f210"}.um-icon-person:before{content:"\f213"}.um-icon-person-add:before{content:"\f211"}.um-icon-person-stalker:before{content:"\f212"}.um-icon-pie-graph:before{content:"\f2a5"}.um-icon-pin:before{content:"\f2a6"}.um-icon-pinpoint:before{content:"\f2a7"}.um-icon-pizza:before{content:"\f2a8"}.um-icon-plane:before{content:"\f214"}.um-icon-planet:before{content:"\f343"}.um-icon-play:before{content:"\f215"}.um-icon-playstation:before{content:"\f30a"}.um-icon-plus:before{content:"\f218"}.um-icon-plus-circled:before{content:"\f216"}.um-icon-plus-round:before{content:"\f217"}.um-icon-podium:before{content:"\f344"}.um-icon-pound:before{content:"\f219"}.um-icon-power:before{content:"\f2a9"}.um-icon-pricetag:before{content:"\f2aa"}.um-icon-pricetags:before{content:"\f2ab"}.um-icon-printer:before{content:"\f21a"}.um-icon-pull-request:before{content:"\f345"}.um-icon-qr-scanner:before{content:"\f346"}.um-icon-quote:before{content:"\f347"}.um-icon-radio-waves:before{content:"\f2ac"}.um-icon-record:before{content:"\f21b"}.um-icon-refresh:before{content:"\f21c"}.um-icon-reply:before{content:"\f21e"}.um-icon-reply-all:before{content:"\f21d"}.um-icon-ribbon-a:before{content:"\f348"}.um-icon-ribbon-b:before{content:"\f349"}.um-icon-sad:before{content:"\f34a"}.um-icon-sad-outline:before{content:"\f4d7"}.um-icon-scissors:before{content:"\f34b"}.um-icon-search:before{content:"\f21f"}.um-icon-settings:before{content:"\f2ad"}.um-icon-share:before{content:"\f220"}.um-icon-shuffle:before{content:"\f221"}.um-icon-skip-backward:before{content:"\f222"}.um-icon-skip-forward:before{content:"\f223"}.um-icon-social-android:before{content:"\f225"}.um-icon-social-android-outline:before{content:"\f224"}.um-icon-social-angular:before{content:"\f4d9"}.um-icon-social-angular-outline:before{content:"\f4d8"}.um-icon-social-apple:before{content:"\f227"}.um-icon-social-apple-outline:before{content:"\f226"}.um-icon-social-bitcoin:before{content:"\f2af"}.um-icon-social-bitcoin-outline:before{content:"\f2ae"}.um-icon-social-buffer:before{content:"\f229"}.um-icon-social-buffer-outline:before{content:"\f228"}.um-icon-social-chrome:before{content:"\f4db"}.um-icon-social-chrome-outline:before{content:"\f4da"}.um-icon-social-codepen:before{content:"\f4dd"}.um-icon-social-codepen-outline:before{content:"\f4dc"}.um-icon-social-css3:before{content:"\f4df"}.um-icon-social-css3-outline:before{content:"\f4de"}.um-icon-social-designernews:before{content:"\f22b"}.um-icon-social-designernews-outline:before{content:"\f22a"}.um-icon-social-dribbble:before{content:"\f22d"}.um-icon-social-dribbble-outline:before{content:"\f22c"}.um-icon-social-dropbox:before{content:"\f22f"}.um-icon-social-dropbox-outline:before{content:"\f22e"}.um-icon-social-euro:before{content:"\f4e1"}.um-icon-social-euro-outline:before{content:"\f4e0"}.um-icon-social-facebook:before{content:"\f231"}.um-icon-social-facebook-outline:before{content:"\f230"}.um-icon-social-foursquare:before{content:"\f34d"}.um-icon-social-foursquare-outline:before{content:"\f34c"}.um-icon-social-freebsd-devil:before{content:"\f2c4"}.um-icon-social-github:before{content:"\f233"}.um-icon-social-github-outline:before{content:"\f232"}.um-icon-social-google:before{content:"\f34f"}.um-icon-social-google-outline:before{content:"\f34e"}.um-icon-social-googleplus:before{content:"\f235"}.um-icon-social-googleplus-outline:before{content:"\f234"}.um-icon-social-hackernews:before{content:"\f237"}.um-icon-social-hackernews-outline:before{content:"\f236"}.um-icon-social-html5:before{content:"\f4e3"}.um-icon-social-html5-outline:before{content:"\f4e2"}.um-icon-social-instagram:before{content:"\f351"}.um-icon-social-instagram-outline:before{content:"\f350"}.um-icon-social-javascript:before{content:"\f4e5"}.um-icon-social-javascript-outline:before{content:"\f4e4"}.um-icon-social-linkedin:before{content:"\f239"}.um-icon-social-linkedin-outline:before{content:"\f238"}.um-icon-social-markdown:before{content:"\f4e6"}.um-icon-social-nodejs:before{content:"\f4e7"}.um-icon-social-octocat:before{content:"\f4e8"}.um-icon-social-pinterest:before{content:"\f2b1"}.um-icon-social-pinterest-outline:before{content:"\f2b0"}.um-icon-social-python:before{content:"\f4e9"}.um-icon-social-reddit:before{content:"\f23b"}.um-icon-social-reddit-outline:before{content:"\f23a"}.um-icon-social-rss:before{content:"\f23d"}.um-icon-social-rss-outline:before{content:"\f23c"}.um-icon-social-sass:before{content:"\f4ea"}.um-icon-social-skype:before{content:"\f23f"}.um-icon-social-skype-outline:before{content:"\f23e"}.um-icon-social-snapchat:before{content:"\f4ec"}.um-icon-social-snapchat-outline:before{content:"\f4eb"}.um-icon-social-tumblr:before{content:"\f241"}.um-icon-social-tumblr-outline:before{content:"\f240"}.um-icon-social-tux:before{content:"\f2c5"}.um-icon-social-twitch:before{content:"\f4ee"}.um-icon-social-twitch-outline:before{content:"\f4ed"}.um-icon-social-twitter:before{content:"\f243"}.um-icon-social-twitter-outline:before{content:"\f242"}.um-icon-social-usd:before{content:"\f353"}.um-icon-social-usd-outline:before{content:"\f352"}.um-icon-social-vimeo:before{content:"\f245"}.um-icon-social-vimeo-outline:before{content:"\f244"}.um-icon-social-whatsapp:before{content:"\f4f0"}.um-icon-social-whatsapp-outline:before{content:"\f4ef"}.um-icon-social-windows:before{content:"\f247"}.um-icon-social-windows-outline:before{content:"\f246"}.um-icon-social-wordpress:before{content:"\f249"}.um-icon-social-wordpress-outline:before{content:"\f248"}.um-icon-social-yahoo:before{content:"\f24b"}.um-icon-social-yahoo-outline:before{content:"\f24a"}.um-icon-social-yen:before{content:"\f4f2"}.um-icon-social-yen-outline:before{content:"\f4f1"}.um-icon-social-youtube:before{content:"\f24d"}.um-icon-social-youtube-outline:before{content:"\f24c"}.um-icon-soup-can:before{content:"\f4f4"}.um-icon-soup-can-outline:before{content:"\f4f3"}.um-icon-speakerphone:before{content:"\f2b2"}.um-icon-speedometer:before{content:"\f2b3"}.um-icon-spoon:before{content:"\f2b4"}.um-icon-star:before{content:"\f24e"}.um-icon-stats-bars:before{content:"\f2b5"}.um-icon-steam:before{content:"\f30b"}.um-icon-stop:before{content:"\f24f"}.um-icon-thermometer:before{content:"\f2b6"}.um-icon-thumbsdown:before{content:"\f250"}.um-icon-thumbsup:before{content:"\f251"}.um-icon-toggle:before{content:"\f355"}.um-icon-toggle-filled:before{content:"\f354"}.um-icon-transgender:before{content:"\f4f5"}.um-icon-trash-a:before{content:"\f252"}.um-icon-trash-b:before{content:"\f253"}.um-icon-trophy:before{content:"\f356"}.um-icon-tshirt:before{content:"\f4f7"}.um-icon-tshirt-outline:before{content:"\f4f6"}.um-icon-umbrella:before{content:"\f2b7"}.um-icon-university:before{content:"\f357"}.um-icon-unlocked:before{content:"\f254"}.um-icon-upload:before{content:"\f255"}.um-icon-usb:before{content:"\f2b8"}.um-icon-videocamera:before{content:"\f256"}.um-icon-volume-high:before{content:"\f257"}.um-icon-volume-low:before{content:"\f258"}.um-icon-volume-medium:before{content:"\f259"}.um-icon-volume-mute:before{content:"\f25a"}.um-icon-wand:before{content:"\f358"}.um-icon-waterdrop:before{content:"\f25b"}.um-icon-wifi:before{content:"\f25c"}.um-icon-wineglass:before{content:"\f2b9"}.um-icon-woman:before{content:"\f25d"}.um-icon-wrench:before{content:"\f2ba"}.um-icon-xbox:before{content:"\f30c"}.um{width:100%;text-align:left;box-sizing:border-box;color:#666;font-size:15px;margin-bottom:30px!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;opacity:0}.um-s1,.um-s2{display:none}.um *,.um :before,.um :after{box-sizing:content-box}.um-header a,.um-cover a,.um-member-photo a,.um-member-name a,.um-member-more a,.um-member-less a,.um-members a,.um-account-side li a,.um-members-pagi span,.um-members-pagi a,.um-field-value a{border-bottom:0!important}.um a:focus,.um-modal a:focus{outline:0!important}.um a .image-overlay,.um a:hover .image-overlay,.um a:hover .image-overlay *{display:none!important;width:0!important;height:0!important;position:static!important}.um.um-in-admin{padding-top:0}.um.um-in-admin .um-tip{display:none!important}.um input,.um select,.um textarea{font-size:15px}.um *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.um-left{float:left}.um-right{float:right}.um-clear{clear:both}.um-center{text-align:center}.um-center .um-button{display:inline-block!important;width:auto!important;min-width:250px!important}.um-half{width:48%}.um-field-half{width:48%;float:left}.um-field-half.right{float:right}.um-field-tri{width:30%;float:left;margin-right:3%}.um img{box-shadow:none!important}.um-col{padding-bottom:20px}.um-col-alt{margin:0 0 5px}.um-col-alt-s{padding-top:10px}.um-col-alt-b{padding-top:20px}.um-col-121{float:left;width:48%}.um-col-122{float:right;width:48%}.um-col-131{float:left;width:30%}.um-col-132{float:left;width:30%;margin:0 5%}.um-col-133{float:left;width:30%}.um-raty i{font-size:26px}.um-field-half .um-raty i{font-size:21px}.um-field-tri .um-raty i{font-size:21px}.um-button i{font-size:22px;width:22px;height:12px!important;display:inline-block;line-height:12px!important;vertical-align:middle!important;position:relative;top:-6px;margin-right:8px}.um-row-heading{padding:5px 0;font-size:16px}.um-row-heading i{font-size:24px;height:24px;line-height:24px;margin:0 12px 0 0;display:inline-block;width:30px;text-align:center}.um-row-heading i:before{vertical-align:middle!important}p.um-notice{width:auto;color:#fff;box-sizing:border-box;font-size:15px;padding:12px!important;margin:12px 0 0!important;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;position:relative}p.um-notice i{position:absolute;right:14px;font-size:36px;cursor:pointer;top:7px;display:block;height:30px;line-height:30px}p.um-notice.success{background:#7ACF58}p.um-notice.err{background:#C74A4A}p.um-notice.warning{background:#f9f9d1;color:#666;border:1px solid #efe4a2;padding:8px 15px!important}.um-field-error{width:auto;max-width:100%;background:#C74A4A;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;color:#fff;box-sizing:border-box;position:relative;padding:12px;font-size:14px;line-height:20px!important;margin:12px 0 0}.um-field-error a{color:#fff!important;text-decoration:underline!important}.um-field-arrow{top:-17px;left:10px;position:absolute;z-index:900;color:#C74A4A;font-size:28px;line-height:1em!important}.um-error-block{width:auto;max-width:100%;background:#C74A4A;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;color:#fff;box-sizing:border-box;position:relative;padding:12px;font-size:14px;line-height:1em!important;margin:12px 0 0}.um-tip{margin:0 0 0 8px;cursor:pointer;display:inline-block;position:relative;top:3px}.um-tip i{font-size:22px;height:22px;line-height:22px;display:block;position:relative}.um-tip-text{display:block;font-size:13px;line-height:15px;color:#999}.um-form button::-moz-focus-inner,.um-form input::-moz-focus-inner{border:0!important;padding:0!important}.um-field{position:relative;padding:15px 0 0}.um-field-b,.um-field-c{padding-top:0!important}.um-field.um-is-conditional{display:none}.um-field-label{display:block;margin:0 0 8px}.um-field-label .um-field-label-icon{float:left;margin:0 8px 0 0;height:22px;line-height:18px;display:inline-block;width:24px;text-align:center}.um-field-label .um-field-label-icon i{font-size:22px;position:relative;top:1px}.um-field-label label{font-size:15px!important;line-height:22px!important;font-weight:700;font-weight:600}.um-field-area{position:relative;word-wrap:break-word}.um-field-value p{margin:0 0 6px!important;padding:0}.um-field-block{color:#777;font-size:17px}.um-field-spacing{width:100%}.um-field-divider{width:100%;margin:0 0 12px;height:24px;position:relative}.um-field-divider-text{position:absolute;width:100%;text-align:center;bottom:-24px;left:0;font-size:16px;padding:10px 0}.um-field-divider-text span{background:#fff;color:#555;display:inline-block;padding:0 15px}.um-field-icon{position:absolute;cursor:default;text-align:center!important;top:2px;left:0;width:44px;font-size:22px;line-height:1.7em}.um-form input[type=text],.um-form input[type=number],.um-form input[type=password]{padding:0 12px!important;width:100%;display:block!important;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;outline:none!important;cursor:text!important;font-size:15px!important;height:40px!important;box-sizing:border-box!important;box-shadow:none!important;margin:0!important;position:static;outline:none!important}.um-form input[type=number]{width:auto;padding:0 0 0 5px !important;height:30px!important}.um-form input[type=text]:focus,.um-form input[type=number]:focus,.um-form input[type=password]:focus,.um-form textarea:focus{box-shadow:none!important;outline:none!important}.um-form input[type=text].um-iconed,.um-form input[type=password].um-iconed{padding-left:44px!important}.um-form input[type=text].um-error,.um-form input[type=password].um-error{border-color:#C74A4A!important}.um-form textarea{width:100%;padding:8px 12px!important;display:block;font-size:15px!important;line-height:22px!important;background:#fff;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;box-sizing:border-box;min-height:80px!important;box-shadow:none;outline:none!important}.um-form .wp-editor-container{border:1px solid #ddd}.um-form .wp-editor-container textarea{background:#ddd!important;color:#222!important;border-radius:0}.um-field-c .um-field-checkbox{margin:0!important;position:relative;top:-14px}.um-field-checkbox,.um-field-radio{display:block;margin:8px 0;position:relative;cursor:pointer!important}.um-field-checkbox:hover i,.um-field-radio:hover i{color:#666}.um-field-checkbox input,.um-field-radio input{opacity:0!important;display:inline!important;width:0!important;float:left}.um-field-checkbox-state,.um-field-radio-state{position:absolute;top:0;left:1px;width:24px;height:24px}.um-field-checkbox-state i,.um-field-radio-state i{font-size:24px;line-height:24px;height:24px;color:#aaa;transition:all .2s linear}.um-field-checkbox-option,.um-field-radio-option{margin:0 0 0 36px;line-height:24px;color:#888!important;display:block}.um-field-group{margin-top:20px}.um-field-group-head{cursor:pointer;color:#fff;font-size:16px;line-height:22px;padding:10px 20px;transition:.25s;box-sizing:border-box;-moz-border-radius:4px!important;-webkit-border-radius:4px!important;border-radius:4px!important;border-top:1px solid rgba(0,0,0,0.0)!important;border-bottom:2px solid rgba(0,0,0,0.1)!important}.um-field-group-head i{font-size:20px;margin:0 8px 0 0}.um-field-group-head i:before{vertical-align:middle!important}.um-field-group-body{display:none;margin:15px 0 0;padding:15px 20px 5px;background:#f9f9f9;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;position:relative;box-sizing:border-box;width:100%}.um-field-group-body div.um-field{padding:0 0 15px}.um-field-group-cancel{font-size:18px;position:absolute;z-index:800;right:8px;top:8px;color:#ccc!important;text-decoration:none!important}.um-field-group-cancel:hover{color:#777!important}.um div.disabled,.um-disabled,.um input[type=submit]:disabled,.um input[type=text]:disabled,.um input[type=number]:disabled{opacity:.6!important;cursor:no-drop!important}input[type=submit].um-button,input[type=submit].um-button:focus{vertical-align:middle!important;height:auto!important;font-size:15px;cursor:pointer!important;width:100%;box-shadow:none;text-shadow:none;font-family:inherit;outline:none!important;margin:0;opacity:1;-webkit-appearance:none}input[type=submit].um-button:hover{opacity:1}.um-button{font-size:15px;border:none!important;display:block;width:100%;line-height:1em!important;padding:16px 20px!important;text-decoration:none!important;text-align:center;text-transform:none!important;font-weight:400!important;overflow:hidden;position:relative;transition:.25s;box-sizing:border-box;-moz-border-radius:4px!important;-webkit-border-radius:4px!important;border-radius:4px!important;border-top:1px solid rgba(0,0,0,0.0)!important;border-bottom:2px solid rgba(0,0,0,0.1)!important;opacity:1}.um-button.um-btn-auto-width{width:auto;display:inline-block;padding:14px 20px!important;min-width:200px;max-width:450px}a.um-link-alt{line-height:22px;color:#888!important;display:block!important;text-decoration:none!important;font-weight:400;text-align:center;border-bottom:none!important}a.um-link-alt:hover{text-decoration:underline!important}.um-dropdown{position:absolute;height:auto;background:#fff;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;z-index:10;display:none;border:1px solid #e5e5e5;box-sizing:border-box;-webkit-box-shadow:0 0 2px rgba(0,0,0,0.1);box-shadow:0 0 1px rgba(0,0,0,0.1)}.um-dropdown ul,.um-dropdown li{list-style-type:none!important;padding:0!important;margin:0!important}.um-dropdown li a{display:block;padding:8px 12px;color:#666;font-size:14px;line-height:18px}.um-dropdown li:last-child a{border-top:1px solid #e5e5e5;padding:12px}.um-dropdown-b{position:relative}.um-dropdown-arr{position:absolute;color:#fff;font-size:24px;width:24px;height:24px;overflow:hidden;z-index:15;color:#eee}.um-dropdown-arr *{display:block!important;width:24px!important;height:24px!important;vertical-align:bottom!important;overflow:hidden!important;line-height:24px!important}div.um-photo{margin:20px auto 0;text-align:center;box-sizing:border-box;max-width:100%}div.um-photo,div.um-photo a,div.um-photo img{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}div.um-photo a{border:1px solid #e5e5e5;padding:5px;box-sizing:border-box;display:inline-block;box-shadow:0 1px 1px #eee;margin:0 auto;max-width:100%}div.um-photo img{max-height:300px;max-width:100%}span.um-req{margin:0 0 0 8px;font-size:14px;display:inline-block}.picker{font-size:16px;text-align:left;line-height:1.2;color:#fff;position:absolute;z-index:10000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.picker__input{cursor:default}.picker__input.picker__input--active{border-color:#0089ec}.picker__holder{width:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}.picker__frame,.picker__holder{bottom:0;left:0;right:0;top:100%}.picker__holder{position:fixed;-webkit-transition:background .15s ease-out,top 0s .15s;-moz-transition:background .15s ease-out,top 0s .15s;transition:background .15s ease-out,top 0s .15s}.picker__frame{position:absolute;margin:0 auto;min-width:256px;max-width:400px;width:100%;-ms-filter:"alpha(Opacity=0)";filter:alpha(opacity=0);-moz-opacity:0;opacity:0;-webkit-transition:all .15s ease-out;-moz-transition:all .15s ease-out;transition:all .15s ease-out}@media (min-height:33.875em){.picker__frame{overflow:visible;top:auto;bottom:-100%;max-height:80%}}@media (min-height:40.125em){.picker__frame{margin-bottom:15%!important}}.picker__wrap{display:table;width:100%;height:100%}@media (min-height:33.875em){.picker__wrap{display:block}}.picker__box{display:table-cell;vertical-align:middle}@media (min-height:33.875em){.picker__box{display:block;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}}@media (min-height:40.125em){.picker__box{border-bottom-width:1px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}}.picker--opened .picker__holder{top:0;zoom:1;background:rgba(0,0,0,.7);-webkit-transition:background .15s ease-out;-moz-transition:background .15s ease-out;transition:background .15s ease-out}.picker--opened .picker__frame{top:0;-ms-filter:"alpha(Opacity=100)";filter:alpha(opacity=100);-moz-opacity:1;opacity:1}@media (min-height:33.875em){.picker--opened .picker__frame{top:auto;bottom:0}}.picker__header{text-align:center;position:relative;margin-top:.75em;border-radius:2px 2px 0 0;padding:15px 0;font-size:18px}.picker__month,.picker__year{display:inline-block;margin-left:10px;margin-right:10px}.picker__select--month,.picker__select--year{margin-left:.25em;margin-right:.25em;font-size:16px;color:#999;background:#fff!important;outline:0!important;border:0!important}@media (min-width:24.5em){.picker__select--month,.picker__select--year{margin-top:-.5em}}.picker__select--month{width:35%}.picker__select--year{width:22.5%}.picker__nav--next,.picker__nav--prev{position:absolute;padding:.5em 1.25em;width:1em;height:1em;box-sizing:content-box!important;top:8px;color:#fff}.picker__nav--prev{left:0;padding-right:1.25em}@media (min-width:24.5em){.picker__nav--prev{padding-right:1.5em}}.picker__nav--next{right:0;padding-left:1.25em}@media (min-width:24.5em){.picker__nav--next{padding-left:1.5em}}.picker__nav--next:before,.picker__nav--prev:before{content:" ";border-top:.5em solid transparent;border-bottom:.5em solid transparent;border-right:.5em solid #fff;width:0;height:0;display:block;margin:0 auto}.picker__nav--next:before{border-right:0;border-left:.5em solid #fff}.picker__nav--next:hover,.picker__nav--prev:hover{cursor:pointer;color:#fff}.picker__nav--disabled,.picker__nav--disabled:before,.picker__nav--disabled:before:hover,.picker__nav--disabled:hover{cursor:default;background:0 0}.picker__table{text-align:center;border-collapse:collapse;border-spacing:0;table-layout:fixed;font-size:inherit;width:100%;margin-top:5px;border:none;margin-bottom:0}.picker__table td{margin:0;padding:0 10px;text-align:center;border:0}.picker__weekday{width:14.285714286%;color:#fff;text-align:center;padding:5px 0!important}.picker__day{padding:10px 0;line-height:1em!important}.picker__day--today{position:relative}.picker__day--outfocus{opacity:.75}.picker__day--infocus:hover,.picker__day--outfocus:hover{border-radius:2px;cursor:pointer}.picker--focused .picker__day--highlighted,.picker__day--highlighted:hover{border-radius:2px}.picker__day--disabled,.picker__day--disabled:hover{cursor:default;background:transparent!important;opacity:.3}.picker__footer{text-align:center;height:50px!important;line-height:50px!important;margin-top:5px;border-radius:0 0 2px 2px}.picker__button--clear,.picker__button--today{width:50%;display:inline-block;background:none!important;box-shadow:none!important;border:0!important;outline:0!important;box-sizing:border-box!important}.picker__button--clear:focus,.picker__button--clear:hover,.picker__button--today:focus,.picker__button--today:hover{cursor:pointer}.picker__list{list-style:none;list-style:none!important;padding:5px!important;margin:0!important}.picker__list-item{position:relative;border-radius:2px;display:inline-block;width:25%;text-align:center;box-sizing:border-box;padding:6px 0!important;margin:5px 0!important}.picker__list-item:hover{cursor:pointer;z-index:10}.picker__list-item--highlighted{z-index:10}.picker--focused .picker__list-item--highlighted,.picker__list-item--highlighted:hover{cursor:pointer;font-weight:700}.picker--focused .picker__list-item--selected,.picker__list-item--selected,.picker__list-item--selected:hover{z-index:10}.picker--focused .picker__list-item--disabled,.picker__list-item--disabled,.picker__list-item--disabled:hover{color:#a9e792;cursor:default;background:0 0;z-index:auto}.picker--time .picker__button--clear{width:100%;display:inline-block;box-shadow:none!important;border:0!important;outline:0!important;background:none!important;border-radius:0 0 2px 2px;color:#fff!important}.picker--time .picker__button--clear:focus,.picker--time .picker__button--clear:hover{cursor:pointer}.picker--time .picker__frame{min-width:256px;max-width:400px}.picker--time .picker__box{font-size:15px;padding:0;border-radius:2px!important}@media (min-height:40.125em){.picker--time .picker__frame{margin-bottom:10%!important}}.um-members img{display:block;overflow:hidden;-moz-border-radius:0!important;-webkit-border-radius:0!important;border-radius:0!important;margin:0!important;padding:0!important}.um-members a,.um-members a:hover{text-decoration:none!important}.um-members-intro{text-align:center;margin:0 0 20px}.um-members-total{font-size:30px;font-weight:300}.um-members-none{text-align:center;font-size:18px}.um-search{text-align:center;padding:20px 50px}.um-search.um-search-2{padding-left:20%;padding-right:20%;width:100%;box-sizing:border-box}.um-search.um-search-1{padding-left:32%;padding-right:32%;width:100%;box-sizing:border-box}.um-search.um-search-1 .um-search-submit .um-button{display:block!important;min-width:100%!important;margin:0 0 10px!important}.um-search.um-search-1 .um-search-filter{width:100%;padding:0 0 10px;float:none}.um-search.um-search-2 .um-search-filter{width:50%}.um-search-filter{padding:0 15px 30px;display:block;float:left;width:33%;box-sizing:border-box}.um-search-submit .um-button{display:inline-block!important;width:auto!important;padding:12px 20px!important;margin:0 10px!important;min-width:150px!important}.um-members{-ms-word-break:break-all;word-break:break-word;word-wrap:break-word}.um-member{float:left;width:30%;background:#fff;text-align:center;border:1px solid #eee;box-sizing:border-box;margin-bottom:40px;position:relative}.um-member.awaiting_admin_review,.um-member.inactive,.um-member.rejected{opacity:.7}.um-member-status{display:none}.um-member-status.awaiting_admin_review,.um-member-status.inactive,.um-member-status.rejected{display:block;position:absolute;top:0;left:0;width:100%;padding:7px 15px;background:#C74A4A;color:#fff;z-index:10;font-size:13px;box-sizing:border-box}.um-member-status.inactive,.um-member-status.rejected{background:#999}.um-gutter-sizer{width:5%}.um-member-cover{background-color:#eee;box-sizing:border-box;position:relative}.um-member-cover-e{text-align:center;box-sizing:border-box}.um-member-cover-e img{width:100%!important}.um-member-photo{padding:40px 0 20px;text-align:center}.um-member-photo a{display:inline!important}.um-member-photo img{display:inline!important;border:5px solid #fff;background:#fff;width:140px;height:140px;float:none!important}.um-member.with-cover .um-member-photo{padding-top:0}.um-member.with-cover .um-member-photo img{width:90px;height:90px;position:relative;top:-35px;margin-bottom:-45px!important;float:none!important;opacity:1}.um-member-photo.radius-1 img{-moz-border-radius:999px!important;-webkit-border-radius:999px!important;border-radius:999px!important}.um-member-photo.radius-2 img{-moz-border-radius:4px!important;-webkit-border-radius:4px!important;border-radius:4px!important}.um-member-photo.radius-3 img{-moz-border-radius:0!important;-webkit-border-radius:0!important;border-radius:0!important}.um-member-card.no-photo{padding-top:30px}.um-member-card{padding-bottom:15px}.um-member-name{margin:0 0 4px}.um-member-name a{font-size:16px;line-height:26px;color:#444;font-weight:700}.um-member-tagline{font-size:13px;line-height:22px;color:#999;padding:0 15px}.um-member-less{display:none}.um-member-less a,.um-member-more a{color:#666;display:inline-block}.um-member-less i,.um-member-more i{display:block;font-size:32px;height:32px;line-height:32px}.um-member-meta{display:none;margin:20px 15px 0;padding:15px 0;border-top:1px solid #e5e5e5}.um-member-meta.no-animate{display:block}.um-member-metaline{font-size:13px;padding:12px 0 0;line-height:16px;vertical-align:middle}.um-member-metaline span{display:block;text-align:center}.um-member-connect{padding-top:20px}.um-member-connect a{display:inline-block;width:40px;line-height:40px;height:40px;-moz-border-radius:999px;-webkit-border-radius:999px;border-radius:999px;color:#fff!important;opacity:.85;margin:0 1px;font-size:22px;transition:.25s}.um-member-connect a:hover{opacity:1;color:#fff}.um-members-pagi,.um-members-pagidrop{text-align:center;padding:5px 0;font-size:15px}.um-members-pagi span.current,.um-members-pagi span.current:hover{color:#fff!important}.um-members-pagi i:before{font-size:20px;vertical-align:middle!important;height:34px;line-height:34px;top:-2px;position:relative}.um-members-pagi span.disabled{opacity:.4;cursor:default}.um-members-pagi span.none{color:#aaa!important}.um-members-pagi span{cursor:default}.um-members-pagi a,.um-members-pagi span{display:inline-block;width:auto;height:34px;line-height:34px;transition:all .2s linear;padding:0 14px;color:#666!important;font-weight:400}.um-members-pagi a:hover{text-decoration:none!important}.um-popup-overlay{background:rgba(0,0,0,0.7);width:100%;height:100%;position:fixed;top:0;left:0;z-index:1999992}.um-popup *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.um-popup{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;position:fixed;left:50%;top:10%;margin-left:-250px;width:500px;background:#fff;box-shadow:0 1px 3px #111;z-index:1999993;box-sizing:border-box;overflow:auto;color:#888;padding:0!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.um-popup.loading{background:#fff url(../img/loading.gif) no-repeat center;min-height:100px}.um-popup a{outline:none!important}.um-modal-overlay{background:rgba(0,0,0,0.85);width:100%;height:100%;position:fixed;top:0;left:0;z-index:1999992}.um-modal *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.um-modal-hidden-content{display:none}.um-modal-close{display:block;position:fixed;right:0;top:0;font-size:24px;text-decoration:none!important;color:#fff!important;padding:0 10px}.um-modal{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;position:fixed;left:50%;display:none;z-index:1999993;box-sizing:border-box;bottom:-50px}.um-modal.normal{width:500px;margin-left:-250px}.um-modal.large{width:730px;margin-left:-365px}.um-modal.small{width:400px;margin-left:-200px}.um-modal-body{min-height:3px;padding:20px;box-sizing:border-box;width:100%;background:#fff;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}.um-modal-body.photo{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,0.1),0px 0 0 1px rgba(255,255,255,0.12) inset;background:#888;padding:0}.um-modal-body.photo img{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;display:block;overflow:hidden;opacity:0}.um-modal.loading .um-modal-body{background:#fff url(../img/loading.gif) no-repeat center;min-height:150px}.um-modal div.um{margin-bottom:20px!important}.um-modal-header{-moz-border-radius:3px 3px 0 0;-webkit-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;height:44px;line-height:44px;color:#fff;padding:0 20px;box-sizing:border-box;font-size:17px}.um-modal-footer{margin-top:20px}.um-modal-left{float:left}.um-modal-right{float:right}.um-modal-btn.disabled,.um-modal-btn.disabled:hover{opacity:.5;cursor:default!important}.um-modal-btn{cursor:pointer!important;line-height:34px!important;height:34px;display:inline-block;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;padding:0 20px;text-align:center;color:#fff;vertical-align:middle;font-size:14px;box-sizing:border-box;transition:.2s;text-decoration:none!important}.um-modal-btn:hover{background:#44b0ec;color:#fff}.um-modal-btn.alt{color:#666;background:#eee}.um-modal-btn.alt:hover{background:#e5e5e5}.um-profile{box-sizing:border-box}.um-profile .um-cover-overlay{display:none}.um-profile.um-editing .um-cover.has-cover .um-cover-overlay{display:block}.um-profile.um-viewing .um-profile-photo-overlay{display:none}.um-profile img{display:block;overflow:hidden;border-radius:0;margin:0!important}.um-profile a,.um-profile a:hover{text-decoration:none!important}.um-profile .um-profile-body{padding-top:15px;padding-bottom:15px;max-width:600px;margin:auto}.um-profile.um-editing{padding-bottom:15px}.um-profile.um-viewing{padding-bottom:1px}.um-profile.um-viewing .um-field-label{display:block;margin:0 0 8px;border-bottom:solid 2px #eee;padding-bottom:4px}.um-cover{background-color:#eee;box-sizing:border-box;position:relative}.um-cover-add{color:#aaa;font-size:36px;width:100%;display:table}.um-cover-add span{display:table-cell;vertical-align:middle}.um-cover-e{text-align:center;box-sizing:border-box}.um-cover-e img{width:100%!important}.um-cover-overlay{position:absolute;top:0;left:0;background:rgba(0,0,0,.5);text-align:center;box-sizing:border-box;padding:0 40px;color:#fff;text-shadow:0 1px #666;cursor:pointer!important;line-height:21px;font-size:16px;height:100%;width:100%}.um-cover-overlay:hover{background:rgba(0,0,0,.55)}.um-cover-overlay span.um-cover-overlay-s{display:table;height:100%;width:100%}.um-cover-overlay ins{display:table-cell;vertical-align:middle;height:100%;text-decoration:none!important;background:none!important;color:#fff!important;border-bottom:none!important}.um-cover-overlay i{font-size:46px;display:block;margin-bottom:6px}.um-header{position:relative;padding:0 0 25px;border-bottom:solid 2px #eee;min-height:85px;box-sizing:content-box!important}.um-profile-edit{position:absolute;top:15px;right:0;vertical-align:middle;font-size:30px;height:30px;line-height:30px;z-index:66;padding-right:10px}.um-header.no-cover .um-profile-meta{padding-left:0!important;padding-right:0!important;text-align:center!important}.um-header.no-cover .um-name{float:none!important;margin-right:0!important}.um-header.no-cover .um-profile-photo{float:none!important;margin:0 auto!important;text-align:center!important}.um-header.no-cover a.um-profile-photo-img{position:relative!important;top:auto!important;left:auto!important;float:none!important;display:inline-block!important;text-align:center!important}.um-header.no-cover .um-main-meta{padding:0}.um-profile .gravatar{position:static}.um-profile-photo{float:left;position:relative}.um-profile-photo a.um-profile-photo-img{float:left;position:absolute;background:#fff;padding:5px;left:30px}.um-profile-photo a.um-profile-photo-img img{width:100%;height:100%}.um-profile-photo-overlay{position:absolute;top:0;left:0;background:rgba(0,0,0,.5);text-align:center;box-sizing:border-box;padding:0;color:#fff;text-shadow:0 1px #666;cursor:pointer!important;line-height:21px;font-size:16px;height:100%;width:100%}.um-profile-photo-overlay:hover{background:rgba(0,0,0,.55)}.um-profile-photo-overlay span.um-profile-photo-overlay-s{display:table;height:100%;width:100%}.um-profile-photo-overlay ins{display:table-cell;vertical-align:middle;height:100%;text-decoration:none!important;background:none!important;color:#fff!important;border-bottom:none!important}.um-profile-photo-overlay i{font-size:46px;display:block}.um-profile-meta{padding-right:30px;-ms-word-break:break-all;word-break:break-word;word-wrap:break-word}.um-main-meta{padding:10px 0 0}.um-name{float:left;font-size:24px;font-weight:700;margin-right:30px;line-height:1.7em}.um-meta{font-size:15px}.um-meta span a{font-weight:400}.um-meta span:first-child{margin:0 5px 0 0}.um-meta span{margin:0 5px;font-size:14px;display:inline-block}.um-meta span i{font-size:16px;margin:0 5px 0 0}.um-meta-text{margin:6px 0 0;color:#666;line-height:1.4em;font-size: 13px}.um-meta-text p{margin:0 0 6px 0!important;padding:0!important}.um-profile-status{display:none}.um-profile-status.awaiting_admin_review,.um-profile-status.inactive,.um-profile-status.rejected{display:inline-block;margin:6px 0 0;border-left:3px solid #C74A4A;padding-left:10px;font-size:14px;color:#777}.um-profile-note{display:none;text-align:center;padding-top:20px;color:#666}.um-profile-note i{display:inline-block;font-size:70px;height:70px;line-height:70px}.um-profile-note i.um-faicon-lock{position:relative;top:2px;display:inline-block;font-size:24px;height:auto;line-height:24px;margin-right:10px}.um-profile-note span{margin-top:10px;display:block;font-size:16px;color:#888}.um-profile-note a{border:none!important}.um-profile-note a:hover{text-decoration:underline!important}.um-profile-nav{padding:10px;background:#444;text-align:center}.um-profile-nav-item.active a,.um-profile-nav-item.active a:hover{color:#FFF!important}.um-profile-nav-item.active a span.count{background:0 0;padding:4px 0;color:#fff}.um-profile-nav-item a{color:#fff!important;font-size:14px;font-weight:600;padding:6px 10px 6px 28px;display:block;float:left;border-radius:4px;margin-left:5px;position:relative;border-bottom:0!important}.um-profile-nav-item.without-icon a{padding-left:10px}.um-profile-nav-item.without-icon span.title{padding-left:0}.um-profile-nav-item.without-icon i{display:none}.um-profile-nav-item a:hover{background:#555}.um-profile-nav-item i{font-size:18px;height:18px;line-height:18px;position:absolute;display:block;top:8px;left:10px}.um-profile-nav-item span.title{padding-left:5px}.um-profile-nav-item span.count{font-size:12px;font-weight:300;background:#ddd;color:#666;border-radius:3px;padding:4px 8px;margin-left:3px}.um-profile-subnav{background:#eee;padding:15px;text-align:center}.um-profile-subnav a{display:inline-block;color:#555;font-size:15px;font-weight:600;margin:0 20px;border-bottom:0!important}.um-profile-subnav a:hover{color:#333}.um-profile-subnav span{display:inline-block;margin:0 0 0 8px;background:#ddd;padding:1px 8px;color:#aaa!important;border-radius:2px}.um-item{padding:20px 0;border-bottom:1px solid #eee;position:relative}.um-item-action{position:absolute;right:0;top:16px;width:20px;height:20px;font-size:20px;text-align:center}.um-item-action a{color:#ccc}.um-item-action a:hover{color:#999}.um-item-link{padding-right:40px}.um-item-link a{color:#333;font-size:16px;line-height:20px}.um-item-link a:hover{text-decoration:underline!important}.um-item-link i{font-size:24px;color:#666;margin-right:10px;position:relative;top:3px}.um-item-img{padding:10px 0 0}.um-item-img a{display:inline-block;padding:8px;border-radius:3px;border:1px solid #ddd}.um-item-img a:hover{border-color:#bbb}.um-item-img img{max-width:100%;border-radius:3px}.um-item-meta{color:#888}.um-item-meta span{font-size:13px;font-weight:400;font-style:italic}.um-item-meta span:not(:last-child):after{position:relative;padding:0 4px 0 7px;content:"•"}.um-item-meta a{font-weight:700;border-bottom:1px solid #E0E0E0}.um-item-meta a:hover{border-bottom-color:#bbb}.um-load-items{text-align:center;margin-top:12px;padding-top:30px}.um-load-items.loading{background:url(../img/loading-dots.gif) no-repeat top center}.um-load-items a{max-width:250px;display:inline-block;margin:0 auto}.um-tab-notifier{position:absolute;background:none repeat scroll 0 0 #c65151;right:0;top:0;width:18px;height:18px;border-radius:999px;line-height:18px;top:2px;right:8px;font-size:11px;font-weight:400}@font-face{font-family:raty;font-style:normal;font-weight:400;src:url(../font/raty.eot);src:url(../font/raty.eot?#iefix) format("embedded-opentype");src:url(../font/raty.svg#raty) format("svg");src:url(../font/raty.ttf) format("truetype");src:url(../font/raty.woff) format("woff")}.cancel-off-png,.cancel-on-png,.star-half-png,.star-off-png,.star-on-png{font-family:raty;font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;width:1em;text-align:center;font-variant:normal;text-transform:none;line-height:1em;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-right:.2em;color:#ccc}.star-half-png,.star-on-png{color:#ffbe32}.cancel-on-png:before{content:"\e600"}.cancel-off-png:before{content:"\e601"}.star-on-png:before{content:"\f005"}.star-off-png:before{content:"\f006"}.star-half-png:before{content:"\f123"}.select2-container{margin:0!important;position:relative!important;display:inline-block!important;zoom:1!important;*display:inline!important;vertical-align:middle!important}.select2-container a:hover{color:#666!important}.select2-container,.select2-drop,.select2-search,.select2-search input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.select2-container .select2-choice{display:block!important;height:36px!important;padding:0 0 0 12px!important;overflow:hidden!important;position:relative!important;white-space:nowrap!important;line-height:35px!important;color:#666!important;font-size:15px!important;text-align:left!important;text-decoration:none!important;-moz-border-radius:2px!important;-webkit-border-radius:2px!important;border-radius:2px!important;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:none!important;background-color:#fff!important}.select2-container.select2-drop-above .select2-choice{-moz-border-radius:0 0 2px 2px!important;-webkit-border-radius:0 0 2px 2px!important;border-radius:0 0 2px 2px!important}.select2-container.select2-allowclear .select2-choice .select2-chosen{margin-right:42px}.select2-container .select2-choice>.select2-chosen{margin-right:26px!important;display:block!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important;float:none!important;width:auto!important;font-weight:400}.select2-container .select2-choice abbr{display:none;width:20px!important;height:100%!important;right:24px!important;font-size:1px!important;text-decoration:none!important;border:0!important;background:none!important;cursor:pointer!important;outline:0!important}.select2-container.select2-allowclear .select2-choice abbr{display:inline-block!important}.select2-container .select2-choice abbr:hover{cursor:pointer!important}.select2-drop-mask{border:0!important;margin:0!important;padding:0!important;position:fixed!important;left:0!important;top:0!important;min-height:100%!important;min-width:100%!important;height:auto!important;width:auto!important;opacity:0!important;z-index:1999997!important;background-color:#fff!important;filter:alpha(opacity=0)!important}.select2-drop{width:100%;margin-top:-1px;position:absolute;z-index:1999998!important;top:100%;background:#fff;color:#666;-moz-border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;border-radius:0 0 2px 2px;box-shadow:none}.select2-drop.select2-drop-above{margin-top:1px;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0;box-shadow:none}.select2-drop-active{box-shadow:none!important}.select2-drop-auto-width{width:auto!important}.select2-drop-auto-width .select2-search{padding-top:4px}.select2-container .select2-choice .select2-arrow{display:inline-block!important;width:34px!important;height:100%!important;position:absolute!important;right:0!important;top:0!important;-moz-border-radius:0 2px 2px 0!important;-webkit-border-radius:0 2px 2px 0!important;border-radius:0 2px 2px 0!important;text-align:center!important;background:transparent!important;border-left:0!important}.select2-container .select2-choice .select2-arrow *{line-height:100%!important;vertical-align:middle!important}.select2-container .select2-choice .select2-arrow b{display:block!important;width:100%!important;height:100%!important;background:none!important}.select2-container .select2-choice .select2-arrow:before{content:"\f3d0"!important;font-size:27px!important;font-family:Ionicons!important;width:100%!important;display:block;height:100%;line-height:36px}.select2-container .select2-choice .select2-arrow:hover:before{color:#666!important}.select2-search{display:inline-block!important;width:100%!important;min-height:32px!important;height:32px!important;line-height:1em!important;margin:0!important;padding-left:4px!important;padding-right:4px!important;position:relative!important;z-index:1999999!important;white-space:nowrap!important}.select2-search input[type=text]{background:none!important;width:100%!important;height:32px!important;line-height:auto!important;padding:0 38px 0 7px!important;margin:0!important;outline:0!important;border:1px solid #ddd!important;color:#666!important;-moz-border-radius:2px!important;-webkit-border-radius:2px!important;border-radius:2px!important;font-size:15px!important;box-sizing:border-box!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;box-shadow:none!important}.select2-search:before{content:"\f4a4"!important;font-size:20px!important;height:32px!important;line-height:32px!important;font-family:Ionicons!important;top:0!important;right:10px!important;position:absolute!important}.select2-drop .select2-search{margin-top:4px!important}.select2-search input.select2-active{background:#fff!important}.select2-container-active .select2-choice,.select2-container-active .select2-choices{outline:0!important;box-shadow:none!important}.select2-dropdown-open .select2-choice{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.select2-dropdown-open .select2-choice .select2-arrow{background:transparent!important;filter:none!important;border-color:transparent!important}.select2-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.select2-results{max-height:200px;padding:0 0 0 5px;margin:4px 4px 4px 0;position:relative;overflow-x:hidden;overflow-y:auto;-webkit-tap-highlight-color:rgba(0,0,0,0)}.select2-results ul.select2-result-sub{margin:0;padding-left:0}.select2-results li{list-style:none;display:list-item;background-image:none;font-size:15px;margin:0!important;padding:3px 0!important;color:#666!important}.select2-results li.select2-result-with-children>.select2-result-label{font-weight:700!important}.select2-results .select2-result-label{padding:3px 7px 4px!important;margin:0!important;cursor:pointer;min-height:1em!important;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.select2-results-dept-1 .select2-result-label{padding-left:20px}.select2-results-dept-2 .select2-result-label{padding-left:40px}.select2-results-dept-3 .select2-result-label{padding-left:60px}.select2-results-dept-4 .select2-result-label{padding-left:80px}.select2-results-dept-5 .select2-result-label{padding-left:100px}.select2-results-dept-6 .select2-result-label{padding-left:110px}.select2-results-dept-7 .select2-result-label{padding-left:120px}.select2-results .select2-highlighted{background:none!important;background:#f4f4f4!important;color:#666!important}.select2-results li em{background:#feffde!important;font-style:normal!important}.select2-results .select2-highlighted em{background:transparent!important}.select2-results .select2-highlighted ul{background:#fff!important;color:#666!important}.select2-results .select2-no-results,.select2-results .select2-searching,.select2-results .select2-selection-limit{background:#f4f4f4!important;display:list-item!important;padding:5px!important;font-size:15px!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.select2-results .select2-disabled .select2-result-label,.select2-results .select2-disabled.select2-highlighted .select2-result-label{color:#bbb!important;background:#fff!important;display:list-item!important;cursor:default!important}.select2-results .select2-selected{display:none}.select2-more-results.select2-active{background:#f4f4f4!important}.select2-more-results{background:#f4f4f4!important;display:list-item!important}.select2-container.select2-container-disabled .select2-choice{background-color:#f4f4f4!important;background-image:none!important;border:1px solid #ddd!important;cursor:default!important}.select2-container.select2-container-disabled .select2-choice .select2-arrow{background:none!important;background:#f9f9f9!important;border-left:0!important}.select2-container.select2-container-disabled .select2-choice abbr{display:none!important}.select2-container-multi .select2-choices{height:auto!important;height:1%!important;margin:0!important;padding:1px 3px!important;position:relative!important;cursor:text!important;overflow:hidden!important;-moz-border-radius:2px!important;-webkit-border-radius:2px!important;border-radius:2px!important;box-shadow:none!important}.select2-locked{padding:3px 5px!important}.select2-container-multi .select2-choices{min-height:26px;background-image:none!important}.select2-container-multi.select2-container-active .select2-choices{outline:0;box-shadow:none}.select2-container-multi .select2-choices li{float:left;list-style:none}html[dir=rtl] .select2-container-multi .select2-choices li{float:right}.select2-container-multi .select2-choices .select2-search-field{margin:0;padding:0;white-space:nowrap}.select2-container-multi .select2-choices .select2-search-field input{padding:5px!important;margin:3px 0!important;font-size:100%;height:auto!important;outline:0;border:0!important;-webkit-box-shadow:none;box-shadow:none;background:transparent!important}.select2-container-multi .select2-choices .select2-search-field input.select2-active{background:#fff!important}.select2-container-multi .select2-choices .select2-search-choice{padding:4px 20px 4px 5px!important;margin:6px 0 4px 5px!important;position:relative;line-height:14px;font-size:14px;color:#666;cursor:default;border:1px solid #ddd;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;box-shadow:none!important;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:none!important;background-color:#f9f9f9!important}html[dir=rtl] .select2-container-multi .select2-choices .select2-search-choice{margin-left:0;margin-right:5px}.select2-container-multi .select2-choices .select2-search-choice .select2-chosen{cursor:default}.select2-container-multi .select2-choices .select2-search-choice-focus{background:#f1f1f1}.select2-search-choice-close{position:absolute!important;width:18px!important;height:18px!important;right:0!important;top:0!important;left:auto!important;outline:0!important;background:none!important}.select2-search-choice-close:before{content:"\f2d7"!important;font-size:22px!important;font-family:Ionicons!important;right:4px!important;position:relative!important;display:block;height:100%;width:100%;line-height:36px}.select2-search-choice-close:hover:before{color:#666!important}.select2-container-multi .select2-search-choice-close{text-decoration:none!important;width:21px!important;height:100%!important;text-align:center!important;border-bottom:0!important}.select2-container-multi .select2-search-choice-close:before{font-size:16px!important;right:0!important;line-height:23px!important}.select2-container-multi.select2-container-disabled .select2-choices{background-color:#f4f4f4;background-image:none;border:1px solid #ddd;cursor:default}.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice{padding:3px 5px;border:1px solid #ddd;background-image:none;background-color:#f4f4f4}.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close{display:none;background:0 0}.select2-result-selectable .select2-match,.select2-result-unselectable .select2-match{text-decoration:underline}.select2-offscreen,.select2-offscreen:focus{clip:rect(0 0 0 0)!important;width:1px!important;height:1px!important;border:0!important;margin:0!important;padding:0!important;overflow:hidden!important;position:absolute!important;outline:0!important;left:0!important;top:0!important}.select2-display-none{display:none}.select2-measure-scrollbar{position:absolute;top:-10000px;left:-10000px;width:100px;height:100px;overflow:scroll}.tipsy{padding:5px;position:absolute;z-index:9999999999!important}.tipsy-inner{font-size:13px!important;line-height:17px!important;background-color:#333!important;color:#fff!important;max-width:250px!important;padding:6px 10px!important;text-align:left!important;word-wrap:break-word!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px}.tipsy-arrow{position:absolute!important;width:0!important;height:0!important;line-height:0!important;border:5px dashed #333}.tipsy-arrow-n{border-bottom-color:#333!important}.tipsy-arrow-s{border-top-color:#333!important}.tipsy-arrow-e{border-left-color:#333!important}.tipsy-arrow-w{border-right-color:#333!important}.tipsy-n .tipsy-arrow{top:0;left:50%;margin-left:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.tipsy-nw .tipsy-arrow{top:0;left:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.tipsy-ne .tipsy-arrow{top:0;right:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.tipsy-s .tipsy-arrow{bottom:0;left:50%;margin-left:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.tipsy-sw .tipsy-arrow{bottom:0;left:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.tipsy-se .tipsy-arrow{bottom:0;right:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.tipsy-e .tipsy-arrow{right:0;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent}.tipsy-w .tipsy-arrow{left:0;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent}.um-account p.um-notice{margin:0 0 20px 0!important;padding:12px 15px!important}.um-account a:focus{outline:0!important}.um-account-side{float:left;width:35%;padding:0 30px;box-sizing:border-box}.um-account-main{float:left;width:50%;padding:0 30px;box-sizing:border-box}.um-account-main a{border-bottom:none!important}.um-account-tab{display:none}.um-account-main div.um-account-heading{margin:0!important;font-size:18px;line-height:18px;font-weight:700;color:#555}.um-account-main div.um-account-heading i{margin-right:10px;font-size:26px;position:relative;top:2px}.um-account-main p{margin:20px 0 0!important;padding:0!important}.um-account-main label{font-size:15px}.um-account-meta{text-align:center;margin-bottom:20px}.um-account-meta img{margin:0!important;position:static!important;float:none!important;display:inline-block}.um-account-meta.radius-1 img{-moz-border-radius:999px;-webkit-border-radius:999px;border-radius:999px}.um-account-meta.radius-2 img{-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px}.um-account-meta.radius-3 img{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.um-account-name a{font-weight:700;color:#555!important;text-decoration:none!important;font-size:18px;line-height:2em}.um-account-nav a{display:block;height:44px;line-height:44px;color:#666!important;text-decoration:none!important;position:relative;padding-left:40px;border-bottom:1px solid #eee!important;transition:all .2s linear;font-size:14px}.um-account-nav a.current{font-weight:700}.um-account-nav span.arr{position:absolute;right:0;top:1px;font-size:28px}.um-account-nav span.ico{position:absolute;left:0;top:0;font-size:21px;width:21px;text-align:center}.um-account-side li,.um-account-side ul{margin:0!important;padding:0!important;list-style-type:none!important}.um-account-side li{margin-bottom:1px!important;background:#eee}.um-account-side li a{display:block;padding:4px 0;font-size:14px;height:30px;line-height:20px;color:#999;position:relative}.um-account-side li a span.um-account-arrow{position:absolute;right:10px;top:6px;font-size:26px;opacity:0.6}.um-account-side li a span.um-account-icon,.um-account-side li a.current span.um-account-icon,.um-account-side li a.current:hover span.um-account-icon{text-align:center;font-size:20px;width:20px;height:30px;border-right:1px solid #ccc;color:#444;float:left;padding:0 15px;font-weight:400!important}.um-account-side li a span.um-account-icon i{display:block;height:30px;line-height:30px}.um-account-side li a span.um-account-title{padding-left:20px;float:left;height:30px;line-height:30px;color:#555}.um-account-side li a:hover{color:#444;background:#ddd}.um-account-side li a.current,.um-account-side li a.current:hover{color:#444;font-weight:700;text-decoration:none!important}.cropper-container{position:relative;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.cropper-container img{width:100%;height:100%;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important}.cropper-canvas,.cropper-modal{position:absolute;top:0;right:0;bottom:0;left:0}.cropper-canvas{background-color:#fff;opacity:0;filter:alpha(opacity=0)}.cropper-modal{background-color:#000;opacity:.5;filter:alpha(opacity=50)}.cropper-dragger{position:absolute;top:10%;left:10%;width:80%;height:80%}.cropper-viewer{display:block;width:100%;height:100%;overflow:hidden;outline-width:1px;outline-style:solid;outline-color:#69f;outline-color:rgba(51,102,255,.75)}.cropper-dashed{position:absolute;display:block;border:0 dashed #fff;opacity:.5;filter:alpha(opacity=50)}.cropper-dashed.dashed-h{top:33.3%;left:0;width:100%;height:33.3%;border-top-width:1px;border-bottom-width:1px}.cropper-dashed.dashed-v{top:0;left:33.3%;width:33.3%;height:100%;border-right-width:1px;border-left-width:1px}.cropper-face,.cropper-line,.cropper-point{position:absolute;display:block;width:100%;height:100%;opacity:.1;filter:alpha(opacity=10)}.cropper-face{top:0;left:0;cursor:move;background-color:#fff}.cropper-line{background-color:#69f}.cropper-line.line-e{top:0;right:-3px;width:5px;cursor:e-resize}.cropper-line.line-n{top:-3px;left:0;height:5px;cursor:n-resize}.cropper-line.line-w{top:0;left:-3px;width:5px;cursor:w-resize}.cropper-line.line-s{bottom:-3px;left:0;height:5px;cursor:s-resize}.cropper-point{width:5px;height:5px;background-color:#69f;opacity:.75;filter:alpha(opacity=75)}.cropper-point.point-e{top:50%;right:-3px;margin-top:-3px;cursor:e-resize}.cropper-point.point-n{top:-3px;left:50%;margin-left:-3px;cursor:n-resize}.cropper-point.point-w{top:50%;left:-3px;margin-top:-3px;cursor:w-resize}.cropper-point.point-s{bottom:-3px;left:50%;margin-left:-3px;cursor:s-resize}.cropper-point.point-ne{top:-3px;right:-3px;cursor:ne-resize}.cropper-point.point-nw{top:-3px;left:-3px;cursor:nw-resize}.cropper-point.point-sw{bottom:-3px;left:-3px;cursor:sw-resize}.cropper-point.point-se{right:-3px;bottom:-3px;width:20px;height:20px;cursor:se-resize;opacity:1;filter:alpha(opacity=100)}.cropper-point.point-se:before{position:absolute;right:-50%;bottom:-50%;display:block;width:200%;height:200%;content:" ";background-color:#69f;opacity:0;filter:alpha(opacity=0)}@media (min-width:768px){.cropper-point.point-se{width:15px;height:15px}}@media (min-width:992px){.cropper-point.point-se{width:10px;height:10px}}@media (min-width:1200px){.cropper-point.point-se{width:5px;height:5px;opacity:.75;filter:alpha(opacity=75)}}.cropper-hidden{display:none!important}.cropper-invisible{position:fixed;top:0;left:0;z-index:-1;width:auto!important;max-width:none!important;height:auto!important;max-height:none!important;opacity:0;filter:alpha(opacity=0)}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-canvas,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}.um .um-single-file-preview,.um .um-single-image-preview{margin-bottom:20px}.um .um-single-image-preview>img{max-height:300px;display:inline-block;overflow:hidden;margin:auto;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.um-single-file-preview,.um-single-image-preview{display:none;text-align:center;position:relative}.um-single-file-preview.show,.um-single-image-preview.show{display:block}.um-single-image-preview>img{max-width:100%;max-height:inherit}.um-single-file-preview a.cancel,.um-single-image-preview a.cancel{position:absolute;top:-15px;right:-15px;width:30px;height:30px;-moz-border-radius:999px;-webkit-border-radius:999px;border-radius:999px;background:#ddd;cursor:pointer;text-decoration:none!important;z-index:666;opacity:.75}.um-single-file-preview a.cancel i,.um-single-image-preview a.cancel i{font-size:16px;color:#888;position:relative;display:block;width:100%;height:100%;line-height:30px;overflow:hidden}.um-single-file-preview a.cancel i:before,.um-single-image-preview a.cancel i:before{line-height:inherit}.um-single-fileinfo{padding:26px 0 20px;display:inline-block}.um-single-fileinfo span.icon{font-size:40px;display:inline-block;width:100px;height:70px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-color:#666;color:#fff!important}.um-single-fileinfo span.icon i{display:block;height:70px;line-height:70px;overflow:hidden}.um-single-fileinfo span.icon i:before{line-height:inherit}.um-single-fileinfo span.filename{display:block;font-size:16px;color:#888;padding-top:5px}.um-single-fileinfo a{text-decoration:none!important;opacity:.9}.um-single-fileinfo a:hover{opacity:1}.upload-statusbar{margin:20px 0 0}.upload-filename{display:none!important}.upload-progress{position:relative;width:100%;box-sizing:border-box}.upload-bar{width:0;height:10px;color:#666;background:#7ACF58;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.ajax-upload-dragdrop{width:100%;text-align:center;vertical-align:middle;padding:20px;box-sizing:border-box;border:2px dashed #ddd;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;font-size:18px;line-height:1em}.ajax-upload-dragdrop span.str{display:block;margin:0 0 15px}.ajax-upload-dragdrop span.icon{display:block;font-size:80px;line-height:80px;vertical-align:middle;margin-bottom:10px}.ajax-upload-dragdrop span.help{display:block;font-size:14px;color:#aaa;margin:0 0 12px}.upload{cursor:pointer!important;line-height:34px!important;height:34px;display:inline-block;text-decoration:none;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;padding:0 20px;color:#fff;vertical-align:middle;font-size:14px;box-sizing:border-box;transition:.2s}.upload:hover{background:#44b0ec}.um-modal input[type=file]::-webkit-file-upload-button{cursor:pointer}.uimob340-show,.uimob500-show,.uimob800-show,.uimob960-show{display:none}div.uimob340 .uimob340-show,div.uimob500 .uimob500-show,div.uimob800 .uimob800-show,div.uimob960 .uimob960-show{display:block}div.uimob340 .uimob340-hide,div.uimob500 .uimob500-hide,div.uimob800 .uimob800-hide,div.uimob960 .uimob960-hide{display:none}div.uimob340 .um-item-link a{font-size:14px}div.uimob340 .um-item-meta span{font-size:13px}div.uimob340 .um-load-items a{width:100%!important;max-width:100%!important}div.uimob340 .um-profile-nav{padding:0}div.uimob340 .um-profile-nav-item a{padding:10px 16px;margin-left:0;border-radius:0}div.uimob340 .um-profile-nav-item i{display:block;position:static;top:auto;left:auto}div.uimob340 .um-profile-subnav{padding:8px 15px}div.uimob340 .um-profile-subnav a{display:block;text-align:left;font-size:13px;margin:0;padding:6px 0}div.uimob340 .um-profile-subnav span{font-size:12px;padding:1px 6px}div.uimob340 .um-cover-overlay span.um-cover-overlay-t{display:none!important}div.uimob340 .um-cover-overlay{padding:0}div.uimob340 .um-cover-overlay i,div.uimob340 .um-profile-photo-overlay i{margin-bottom:0;font-size:30px}.um-modal.uimob340{width:100%!important;margin:0!important;left:0!important;height:100%;background:#fff}.um-modal.uimob340,.um-modal.uimob340 .um-modal-body,.um-modal.uimob340 .um-modal-header{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.um-modal.uimob340 .um-modal-header{text-align:center}.um-modal.uimob340 .um-modal-footer{position:absolute;bottom:0;left:0;width:100%;box-sizing:border-box;padding:10px;border-top:1px solid #ddd}.um-modal.uimob340 .um-modal-right{width:100%;float:none}.um-modal.uimob340 .um-modal-footer a.um-modal-btn{width:48%;margin:0 1%;float:left;display:block;line-height:44px!important;height:44px}.um-modal.uimob340 .ajax-upload-dragdrop span.icon{font-size:40px;line-height:40px}div.uimob340 .um-profile-body{padding-left:0;padding-right:0}div.uimob340 .um-profile-photo{width:100%!important;text-align:center!important;position:absolute;top:-40px;left:0}div.uimob340 .um-header.no-cover .um-profile-photo{position:static;top:auto;left:auto}div.uimob340 .um-profile-photo a.um-profile-photo-img{width:100px!important;height:100px!important;margin:0 auto!important;float:none!important;display:inline-block!important;position:relative!important;top:auto!important;left:auto!important}div.uimob340 .um-header.no-cover .um-profile-photo a.um-profile-photo-img{width:120px!important;height:120px!important}div.uimob340 .um-header .um-profile-meta{padding-left:0!important;padding-right:0!important;text-align:center!important;padding-top:60px!important}div.uimob340 .um-header.no-cover .um-profile-meta{padding-top:0!important}div.uimob340 .um-header .um-name{float:none!important;margin-right:0!important;font-size:18px}div.uimob340 .um-header .um-meta,div.uimob340 .um-header .um-meta-text{padding:0 20px}div.uimob340 .um-header .um-meta span:first-child{display:block}div.uimob340 .um-header .um-meta span{display:none}div.uimob340 .um-col-121,div.uimob340 .um-col-122,div.uimob340 .um-col-131,div.uimob340 .um-col-132,div.uimob340 .um-col-133{float:none;width:100%;margin:0}div.uimob340 .um-field-half{float:none;width:100%}div.uimob340 .um-search{padding:20px 0!important;width:100%!important;box-sizing:border-box}div.uimob340 .um-search .um-search-filter{width:100%!important;float:none!important;padding:0 0 15px!important}div.uimob340 .um-search .um-search-submit .um-button{display:block!important;min-width:100%!important;margin:0 0 15px!important}div.uimob340 .um-member{width:100%}div.uimob340 .um-gutter-sizer{width:0}div.uimob340 .um-account-main{float:none;width:100%;padding:0;box-sizing:border-box}div.uimob340 .um-account-tab{padding-bottom:20px;border-bottom:1px solid #eee}div.uimob340 .um-account-meta{margin-bottom:0}.uimob340 .um-half{float:none;width:100%;margin:0 0 10px}.uimob340 .um-button.um-btn-auto-width{min-width:auto;max-width:auto;width:100%}.uimob340 .um-col-alt-s{padding-top:0}div.uimob500 .um-profile-nav{padding:0}div.uimob500 .um-profile-nav-item a{padding:10px 16px;margin-left:0;border-radius:0}div.uimob500 .um-profile-nav-item i{display:block;position:static;top:auto;left:auto;font-size:22px;height:22px;line-height:22px}div.uimob500 .um-profile-subnav{padding:8px 15px}div.uimob500 .um-profile-subnav a{display:block;text-align:left;font-size:13px;margin:0;padding:6px 0}div.uimob500 .um-profile-subnav span{font-size:12px;padding:1px 6px}div.uimob500 .um-cover-overlay span.um-cover-overlay-t{display:none!important}div.uimob500 .um-cover-overlay{padding:0}div.uimob500 .um-cover-overlay i,div.uimob500 .um-profile-photo-overlay i{margin-bottom:0;font-size:30px}.um-modal.uimob500{width:100%!important;margin:0!important;left:0!important;height:100%;background:#fff}.um-modal.uimob500,.um-modal.uimob500 .um-modal-body,.um-modal.uimob500 .um-modal-header{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.um-modal.uimob500 .um-modal-header{text-align:center}.um-modal.uimob500 .um-modal-footer{position:absolute;bottom:0;left:0;width:100%;box-sizing:border-box;padding:10px;border-top:1px solid #ddd}.um-modal.uimob500 .um-modal-right{width:100%;float:none}.um-modal.uimob500 .um-modal-footer a.um-modal-btn{width:48%;margin:0 1%;float:left;display:block;line-height:44px!important;height:44px}.um-modal.uimob500 .ajax-upload-dragdrop span.icon{font-size:40px;line-height:40px}div.uimob500 .um-profile-body{padding-left:0;padding-right:0}div.uimob500 .um-profile-photo{width:100%!important;text-align:center!important;position:absolute;top:-40px;left:0}div.uimob500 .um-header.no-cover .um-profile-photo{position:static;top:auto;left:auto}div.uimob500 .um-profile-photo a.um-profile-photo-img{width:100px!important;height:100px!important;margin:0 auto!important;float:none!important;display:inline-block!important;position:relative!important;top:auto!important;left:auto!important}div.uimob500 .um-header.no-cover .um-profile-photo a.um-profile-photo-img{width:120px!important;height:120px!important}div.uimob500 .um-header .um-profile-meta{padding-left:0!important;padding-right:0!important;text-align:center!important;padding-top:60px!important}div.uimob500 .um-header.no-cover .um-profile-meta{padding-top:0!important}div.uimob500 .um-header .um-name{float:none!important;margin-right:0!important;font-size:21px}div.uimob500 .um-header .um-meta,div.uimob500 .um-header .um-meta-text{padding:0 20px}div.uimob500 .um-header .um-meta span:first-child{display:block}div.uimob500 .um-header .um-meta span{display:none}div.uimob500 .um-col-121,div.uimob500 .um-col-122,div.uimob500 .um-col-131,div.uimob500 .um-col-132,div.uimob500 .um-col-133{float:none;width:100%;margin:0}div.uimob500 .um-field-half{float:none;width:100%}div.uimob500 .um-search{padding:20px 0!important;width:100%!important;box-sizing:border-box}div.uimob500 .um-search .um-search-filter{width:100%!important;float:none!important;padding:0 0 15px!important}div.uimob500 .um-search .um-search-submit .um-button{display:block!important;min-width:100%!important;margin:0 0 15px!important}div.uimob500 .um-member{width:100%}div.uimob500 .um-gutter-sizer{width:0}div.uimob500 .um-account-main{float:none;width:100%;padding:0;box-sizing:border-box}div.uimob500 .um-account-tab{padding-bottom:20px;border-bottom:1px solid #eee}div.uimob500 .um-account-meta{margin-bottom:0}div.uimob800 .um-profile-nav{padding:0}div.uimob800 .um-profile-nav-item a{padding:10px 20px;margin-left:0;border-radius:0}div.uimob800 .um-profile-nav-item i{display:block;position:static;top:auto;left:auto;font-size:26px;height:26px;line-height:26px}div.uimob800 .um-profile-subnav{padding:8px 15px}div.uimob800 .um-profile-subnav a{display:block;text-align:left;font-size:14px;margin:0;padding:6px 0}div.uimob800 .um-profile-subnav span{font-size:12px;padding:2px 8px}div.uimob800 .um-account-main{width:90%;max-width:450px}div.uimob800 .um-account-side{padding:0;width:10%}div.uimob800 .um-account-side ul{border:1px solid #ddd;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}div.uimob800 .um-account-side li{margin-bottom:0!important;background:0 0}div.uimob800 .um-account-side li a{display:block;padding:0!important;height:44px;line-height:44px;color:#666!important;text-align:center;text-decoration:none!important;background:0 0;transition:all .2s linear}div.uimob800 .um-account-side li:first-child a{-moz-border-radius:3px 3px 0 0;-webkit-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}div.uimob800 .um-account-side li:last-child a{-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}div.uimob800 .um-account-side li a span.um-account-icontip{display:block;float:left;text-align:center;width:100%;height:100%;font-size:22px;line-height:44px}div.uimob800 .um-account-side li a span.um-account-icontip i{position:relative;text-align:center;width:100%}div.uimob800 .um-account-side li a.current,div.uimob800 .um-account-side li a.current:hover{color:#fff!important}div.uimob800 .um-account-meta a{border:1px solid #ddd}div.uimob800 .um-account-meta a,div.uimob800 .um-account-meta img{display:block;overflow:hidden;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;max-width:100%;height:auto}div.uimob800 .um-profile-photo{width:200px!important}div.uimob800 .um-profile-photo a.um-profile-photo-img{width:140px!important;height:140px!important;top:-70px!important}div.uimob800 .um-header.no-cover .um-profile-photo a.um-profile-photo-img{top:auto!important}div.uimob800 .um-header .um-profile-meta{padding-left:200px}div.uimob800 .um-cover-overlay{padding:0}div.uimob800 .um-search{padding:20px 0!important;width:100%!important;box-sizing:border-box}div.uimob800 .um-search .um-search-filter{width:48%!important;float:left!important;padding:0 0 15px!important}div.uimob800 .um-search .um-search-filter-2{margin-left:4%}div.uimob800 .um-search .um-search-submit .um-button{display:block!important;width:48%!important;margin:0 0 15px!important;box-sizing:border-box;float:left}div.uimob800 .um-search .um-search-submit .um-button.um-alt{float:right}div.uimob800 .um-member{width:48%}div.uimob800 .um-gutter-sizer{width:4%}div.uimob960 .um-search{padding:20px 0!important;width:100%!important;box-sizing:border-box}div.uimob960 .um-search .um-search-filter{width:48%!important;float:left!important;padding:0 0 15px!important}div.uimob960 .um-search .um-search-filter-2{margin-left:4%}div.uimob960 .um-search .um-search-submit .um-button{display:block!important;width:48%!important;margin:0 0 15px!important;box-sizing:border-box;float:left}div.uimob960 .um-search .um-search-submit .um-button.um-alt{float:right}div.uimob960 .um-member{width:48%}div.uimob960 .um-gutter-sizer{width:4%}@media screen and (max-height:400px){.ajax-upload-dragdrop span.icon{display:none}.um-modal.no-photo{width:100%!important;margin:0!important;left:0!important;height:100%;background:#fff}.um-modal.no-photo,.um-modal.no-photo .um-modal-body,.um-modal.no-photo .um-modal-header{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.um-modal.no-photo .um-modal-header{text-align:center;font-size:14px}.um-modal.no-photo .um-modal-footer{position:absolute;bottom:0;left:0;width:100%;box-sizing:border-box;padding:10px;border-top:1px solid #ddd}.um-modal.no-photo .um-modal-right{width:100%;float:none}.um-modal.no-photo .um-modal-footer a.um-modal-btn{width:48%;margin:0 1%;float:left;display:block;line-height:44px!important;height:44px}}@media screen and (max-height:300px){.ajax-upload-dragdrop span.icon,.ajax-upload-dragdrop span.str,.um-modal.no-photo .um-modal-header{display:none}}@media screen and (max-width:600px){.um-popup{width:96%;margin-left:2%;left:0;top:15px}}
assets/dynamic_css/dynamic_global.php CHANGED
@@ -146,6 +146,7 @@ print ".um-$form_id.um .um-button.um-alt,
146
  if ( $form_border ) {
147
  print "
148
  .um-$form_id.um .um-form input[type=text],
 
149
  .um-$form_id.um .um-form input[type=password],
150
  .um-$form_id.um .um-form textarea,
151
  .um-$form_id.um .upload-progress,
@@ -166,6 +167,7 @@ print "
166
  if ( $form_border_hover ) {
167
  print "
168
  .um-$form_id.um .um-form input[type=text]:focus,
 
169
  .um-$form_id.um .um-form input[type=password]:focus,
170
  .um-$form_id.um .um-form textarea:focus {
171
  border: $form_border_hover !important;
@@ -176,6 +178,7 @@ print "
176
  if ( $form_bg_color ) {
177
  print "
178
  .um-$form_id.um .um-form input[type=text],
 
179
  .um-$form_id.um .um-form input[type=password],
180
  .um-$form_id.um .um-form textarea,
181
  .select2-container .select2-choice,
@@ -189,6 +192,7 @@ print "
189
  if ( $form_bg_color_focus ) {
190
  print "
191
  .um-$form_id.um .um-form input[type=text]:focus,
 
192
  .um-$form_id.um .um-form input[type=password]:focus,
193
  .um-$form_id.um .um-form textarea:focus {
194
  background-color: $form_bg_color_focus;
146
  if ( $form_border ) {
147
  print "
148
  .um-$form_id.um .um-form input[type=text],
149
+ .um-$form_id.um .um-form input[type=number],
150
  .um-$form_id.um .um-form input[type=password],
151
  .um-$form_id.um .um-form textarea,
152
  .um-$form_id.um .upload-progress,
167
  if ( $form_border_hover ) {
168
  print "
169
  .um-$form_id.um .um-form input[type=text]:focus,
170
+ .um-$form_id.um .um-form input[type=number]:focus,
171
  .um-$form_id.um .um-form input[type=password]:focus,
172
  .um-$form_id.um .um-form textarea:focus {
173
  border: $form_border_hover !important;
178
  if ( $form_bg_color ) {
179
  print "
180
  .um-$form_id.um .um-form input[type=text],
181
+ .um-$form_id.um .um-form input[type=number],
182
  .um-$form_id.um .um-form input[type=password],
183
  .um-$form_id.um .um-form textarea,
184
  .select2-container .select2-choice,
192
  if ( $form_bg_color_focus ) {
193
  print "
194
  .um-$form_id.um .um-form input[type=text]:focus,
195
+ .um-$form_id.um .um-form input[type=number]:focus,
196
  .um-$form_id.um .um-form input[type=password]:focus,
197
  .um-$form_id.um .um-form textarea:focus {
198
  background-color: $form_bg_color_focus;
assets/js/um-functions.js CHANGED
@@ -6,6 +6,7 @@ function um_conditional(){
6
  jQuery('.um-field.um-is-conditional').each(function(){
7
  //console.log('-----');
8
  var found = 0;
 
9
  for (var i = 0; i < 5; i++) {
10
 
11
  var action0 = jQuery(this).data('cond-'+i+'-action');
@@ -15,14 +16,15 @@ function um_conditional(){
15
 
16
 
17
  if ( action0 == 'show' && field0 == live_field && typeof value0 !== 'undefined' ) {
18
- //console.log( 'show',i,'conditional='+value0, 'option='+live_value );
19
-
20
  if ( operator0 == 'empty' ) {
21
  if ( !live_value || live_value == '' || found > 0 ) {
22
  jQuery(this).fadeIn();
23
  found++;
24
  } else {
25
  jQuery(this).hide();
 
 
26
 
27
  }
28
  }
@@ -33,7 +35,9 @@ function um_conditional(){
33
  found++;
34
  } else {
35
  jQuery(this).hide();
36
-
 
 
37
  }
38
  }
39
 
@@ -43,7 +47,9 @@ function um_conditional(){
43
  found++;
44
  } else {
45
  jQuery(this).hide();
46
-
 
 
47
  }
48
  }
49
 
@@ -56,7 +62,9 @@ function um_conditional(){
56
  found++;
57
  } else {
58
  jQuery(this).hide();
59
-
 
 
60
  }
61
  }
62
 
@@ -66,7 +74,9 @@ function um_conditional(){
66
  found++;
67
  } else {
68
  jQuery(this).hide();
69
-
 
 
70
  }
71
  }
72
 
@@ -76,7 +86,9 @@ function um_conditional(){
76
  found++;
77
  } else {
78
  jQuery(this).hide();
79
-
 
 
80
  }
81
  }
82
 
@@ -86,7 +98,9 @@ function um_conditional(){
86
  found++;
87
  } else {
88
  jQuery(this).hide();
89
-
 
 
90
  }
91
  }
92
 
@@ -100,6 +114,7 @@ function um_conditional(){
100
  found++;
101
  } else {
102
  jQuery(this).fadeIn();
 
103
  }
104
  }
105
 
@@ -109,6 +124,8 @@ function um_conditional(){
109
  found++;
110
  } else {
111
  jQuery(this).fadeIn();
 
 
112
  }
113
  }
114
 
@@ -118,6 +135,8 @@ function um_conditional(){
118
  found++;
119
  } else {
120
  jQuery(this).fadeIn();
 
 
121
  }
122
  }
123
 
@@ -130,6 +149,8 @@ function um_conditional(){
130
  found++;
131
  } else {
132
  jQuery(this).fadeIn();
 
 
133
  }
134
  }
135
 
@@ -139,6 +160,8 @@ function um_conditional(){
139
  found++;
140
  } else {
141
  jQuery(this).fadeIn();
 
 
142
  }
143
  }
144
 
@@ -148,6 +171,8 @@ function um_conditional(){
148
  found++;
149
  } else {
150
  jQuery(this).fadeIn();
 
 
151
  }
152
  }
153
 
@@ -157,6 +182,8 @@ function um_conditional(){
157
  found++;
158
  } else {
159
  jQuery(this).fadeIn();
 
 
160
  }
161
  }
162
  //console.log( 'hide',i,value0, live_value );
@@ -827,4 +854,15 @@ function responsive_Modal() {
827
 
828
  }
829
  }
 
 
 
 
 
 
 
 
 
 
 
830
  }
6
  jQuery('.um-field.um-is-conditional').each(function(){
7
  //console.log('-----');
8
  var found = 0;
9
+ var um_field_key = jQuery(this).data('key');
10
  for (var i = 0; i < 5; i++) {
11
 
12
  var action0 = jQuery(this).data('cond-'+i+'-action');
16
 
17
 
18
  if ( action0 == 'show' && field0 == live_field && typeof value0 !== 'undefined' ) {
19
+
 
20
  if ( operator0 == 'empty' ) {
21
  if ( !live_value || live_value == '' || found > 0 ) {
22
  jQuery(this).fadeIn();
23
  found++;
24
  } else {
25
  jQuery(this).hide();
26
+ jQuery('div.um-field[data-cond-'+i+'-field='+um_field_key+']').hide();
27
+ um_reset_field('div.um-field[data-cond-'+i+'-field='+um_field_key+']');
28
 
29
  }
30
  }
35
  found++;
36
  } else {
37
  jQuery(this).hide();
38
+ jQuery('div.um-field[data-cond-'+i+'-field='+um_field_key+']').hide();
39
+ um_reset_field('div.um-field[data-cond-'+i+'-field='+um_field_key+']');
40
+
41
  }
42
  }
43
 
47
  found++;
48
  } else {
49
  jQuery(this).hide();
50
+ jQuery('div.um-field[data-cond-'+i+'-field='+um_field_key+']').hide();
51
+ um_reset_field('div.um-field[data-cond-'+i+'-field='+um_field_key+']');
52
+
53
  }
54
  }
55
 
62
  found++;
63
  } else {
64
  jQuery(this).hide();
65
+ jQuery('div.um-field[data-cond-'+i+'-field='+um_field_key+']').hide();
66
+ um_reset_field('div.um-field[data-cond-'+i+'-field='+um_field_key+']');
67
+
68
  }
69
  }
70
 
74
  found++;
75
  } else {
76
  jQuery(this).hide();
77
+ jQuery('div.um-field[data-cond-'+i+'-field='+um_field_key+']').hide();
78
+ um_reset_field('div.um-field[data-cond-'+i+'-field='+um_field_key+']');
79
+
80
  }
81
  }
82
 
86
  found++;
87
  } else {
88
  jQuery(this).hide();
89
+ jQuery('div.um-field[data-cond-'+i+'-field='+um_field_key+']').hide();
90
+ um_reset_field('div.um-field[data-cond-'+i+'-field='+um_field_key+']');
91
+
92
  }
93
  }
94
 
98
  found++;
99
  } else {
100
  jQuery(this).hide();
101
+ jQuery('div.um-field[data-cond-'+i+'-field='+um_field_key+']').hide();
102
+ um_reset_field('div.um-field[data-cond-'+i+'-field='+um_field_key+']');
103
+
104
  }
105
  }
106
 
114
  found++;
115
  } else {
116
  jQuery(this).fadeIn();
117
+
118
  }
119
  }
120
 
124
  found++;
125
  } else {
126
  jQuery(this).fadeIn();
127
+ jQuery('div.um-field[data-cond-'+i+'-field='+um_field_key+']').show();
128
+
129
  }
130
  }
131
 
135
  found++;
136
  } else {
137
  jQuery(this).fadeIn();
138
+ jQuery('div.um-field[data-cond-'+i+'-field='+um_field_key+']').show();
139
+
140
  }
141
  }
142
 
149
  found++;
150
  } else {
151
  jQuery(this).fadeIn();
152
+ jQuery('div.um-field[data-cond-'+i+'-field='+um_field_key+']').show();
153
+
154
  }
155
  }
156
 
160
  found++;
161
  } else {
162
  jQuery(this).fadeIn();
163
+ jQuery('div.um-field[data-cond-'+i+'-field='+um_field_key+']').show();
164
+
165
  }
166
  }
167
 
171
  found++;
172
  } else {
173
  jQuery(this).fadeIn();
174
+ jQuery('div.um-field[data-cond-'+i+'-field='+um_field_key+']').show();
175
+
176
  }
177
  }
178
 
182
  found++;
183
  } else {
184
  jQuery(this).fadeIn();
185
+ jQuery('div.um-field[data-cond-'+i+'-field='+um_field_key+']').show();
186
+
187
  }
188
  }
189
  //console.log( 'hide',i,value0, live_value );
854
 
855
  }
856
  }
857
+ }
858
+
859
+ function um_reset_field( dOm ){
860
+ //console.log(dOm);
861
+ jQuery(dOm)
862
+ .find('div.um-field-area')
863
+ .find('input,textarea,select')
864
+ .not(':button, :submit, :reset, :hidden')
865
+ .val('')
866
+ .removeAttr('checked')
867
+ .removeAttr('selected');
868
  }
assets/js/um-scripts.js CHANGED
@@ -3,7 +3,7 @@ jQuery(document).ready(function() {
3
  jQuery(document).on('click', '.um-dropdown a', function(e){
4
  return false;
5
  });
6
-
7
  jQuery(document).on('click', '.um-dropdown a.real_url', function(e){
8
  window.location = jQuery(this).attr('href');
9
  });
@@ -40,7 +40,7 @@ jQuery(document).ready(function() {
40
  });
41
 
42
  jQuery(document).on('change', '.um-field-area input[type=checkbox]', function(){
43
-
44
  var field = jQuery(this).parents('.um-field-area');
45
  var this_field = jQuery(this).parents('label');
46
  if ( this_field.hasClass('active') ) {
@@ -63,13 +63,13 @@ jQuery(document).ready(function() {
63
  }
64
 
65
  var years_n = elem.attr('data-years');
66
-
67
  var min = elem.attr('data-date_min');
68
  var max = elem.attr('data-date_max');
69
 
70
- var min = min.split(",");
71
- var max = max.split(",");
72
-
73
  elem.pickadate({
74
  selectYears: years_n,
75
  min: min,
@@ -85,7 +85,7 @@ jQuery(document).ready(function() {
85
 
86
  jQuery('.um-timepicker').each(function(){
87
  elem = jQuery(this);
88
-
89
  elem.pickatime({
90
  format: elem.attr('data-format'),
91
  interval: parseInt( elem.attr('data-intervals') ),
@@ -128,7 +128,7 @@ jQuery(document).ready(function() {
128
  parent.find('.um-single-image-preview').hide();
129
  parent.find('.um-btn-auto-width').html('Upload');
130
  parent.find('input[type=hidden]').val('');
131
-
132
  jQuery.ajax({
133
  url: um_scripts.ajaxurl,
134
  type: 'post',
@@ -137,7 +137,7 @@ jQuery(document).ready(function() {
137
  src: src
138
  }
139
  });
140
-
141
  return false;
142
  });
143
 
@@ -148,7 +148,7 @@ jQuery(document).ready(function() {
148
  parent.find('.um-single-file-preview').hide();
149
  parent.find('.um-btn-auto-width').html('Upload');
150
  parent.find('input[type=hidden]').val('');
151
-
152
  jQuery.ajax({
153
  url: um_scripts.ajaxurl,
154
  type: 'post',
@@ -157,7 +157,7 @@ jQuery(document).ready(function() {
157
  src: src
158
  }
159
  });
160
-
161
  return false;
162
  });
163
 
@@ -165,24 +165,24 @@ jQuery(document).ready(function() {
165
  allowClear: true,
166
  minimumResultsForSearch: 10
167
  });
168
-
169
  jQuery(".um-s2").select2({
170
  allowClear: false,
171
  minimumResultsForSearch: 10
172
  });
173
-
174
  jQuery('.um-s1,.um-s2').css({'display':'block'});
175
 
176
  jQuery(document).on('click', '.um-field-group-head:not(.disabled)', function(){
177
  var field = jQuery(this).parents('.um-field-group');
178
  var limit = field.data('max_entries');
179
-
180
  if ( field.find('.um-field-group-body').is(':hidden')){
181
  field.find('.um-field-group-body').show();
182
  } else {
183
  field.find('.um-field-group-body:first').clone().appendTo( field );
184
  }
185
-
186
  increase_id = 0;
187
  field.find('.um-field-group-body').each(function(){
188
  increase_id++;
@@ -193,34 +193,34 @@ jQuery(document).ready(function() {
193
  input.parent().parent().find('label').attr('for', input.data('key') + '-' + increase_id );
194
  });
195
  });
196
-
197
  if ( limit > 0 && field.find('.um-field-group-body').length == limit ) {
198
-
199
  jQuery(this).addClass('disabled');
200
-
201
  }
202
-
203
  });
204
 
205
  jQuery(document).on('click', '.um-field-group-cancel', function(e){
206
  e.preventDefault();
207
  var field = jQuery(this).parents('.um-field-group');
208
-
209
  var limit = field.data('max_entries');
210
-
211
  if ( field.find('.um-field-group-body').length > 1 ) {
212
  jQuery(this).parents('.um-field-group-body').remove();
213
  } else {
214
  jQuery(this).parents('.um-field-group-body').hide();
215
  }
216
-
217
  if ( limit > 0 && field.find('.um-field-group-body').length < limit ) {
218
  field.find('.um-field-group-head').removeClass('disabled');
219
  }
220
-
221
  return false;
222
  });
223
-
224
  jQuery(document).on('click', '.um-ajax-paginate', function(e){
225
  e.preventDefault();
226
  var parent = jQuery(this).parent();
@@ -246,17 +246,17 @@ jQuery(document).ready(function() {
246
  });
247
  return false;
248
  });
249
-
250
  jQuery(document).on('click', '.um-ajax-action', function(e){
251
  e.preventDefault();
252
  var hook = jQuery(this).data('hook');
253
  var user_id = jQuery(this).data('user_id');
254
  var arguments = jQuery(this).data('arguments');
255
-
256
  if ( jQuery(this).data('js-remove') ){
257
  jQuery(this).parents('.'+jQuery(this).data('js-remove')).fadeOut('fast');
258
  }
259
-
260
  jQuery.ajax({
261
  url: um_scripts.ajaxurl,
262
  type: 'post',
@@ -273,4 +273,4 @@ jQuery(document).ready(function() {
273
  return false;
274
  });
275
 
276
- });
3
  jQuery(document).on('click', '.um-dropdown a', function(e){
4
  return false;
5
  });
6
+
7
  jQuery(document).on('click', '.um-dropdown a.real_url', function(e){
8
  window.location = jQuery(this).attr('href');
9
  });
40
  });
41
 
42
  jQuery(document).on('change', '.um-field-area input[type=checkbox]', function(){
43
+
44
  var field = jQuery(this).parents('.um-field-area');
45
  var this_field = jQuery(this).parents('label');
46
  if ( this_field.hasClass('active') ) {
63
  }
64
 
65
  var years_n = elem.attr('data-years');
66
+
67
  var min = elem.attr('data-date_min');
68
  var max = elem.attr('data-date_max');
69
 
70
+ var min = min.length ? new Date(min.split(",")) : null;
71
+ var max = max.length ? new Date(max.split(",")) : null;
72
+
73
  elem.pickadate({
74
  selectYears: years_n,
75
  min: min,
85
 
86
  jQuery('.um-timepicker').each(function(){
87
  elem = jQuery(this);
88
+
89
  elem.pickatime({
90
  format: elem.attr('data-format'),
91
  interval: parseInt( elem.attr('data-intervals') ),
128
  parent.find('.um-single-image-preview').hide();
129
  parent.find('.um-btn-auto-width').html('Upload');
130
  parent.find('input[type=hidden]').val('');
131
+
132
  jQuery.ajax({
133
  url: um_scripts.ajaxurl,
134
  type: 'post',
137
  src: src
138
  }
139
  });
140
+
141
  return false;
142
  });
143
 
148
  parent.find('.um-single-file-preview').hide();
149
  parent.find('.um-btn-auto-width').html('Upload');
150
  parent.find('input[type=hidden]').val('');
151
+
152
  jQuery.ajax({
153
  url: um_scripts.ajaxurl,
154
  type: 'post',
157
  src: src
158
  }
159
  });
160
+
161
  return false;
162
  });
163
 
165
  allowClear: true,
166
  minimumResultsForSearch: 10
167
  });
168
+
169
  jQuery(".um-s2").select2({
170
  allowClear: false,
171
  minimumResultsForSearch: 10
172
  });
173
+
174
  jQuery('.um-s1,.um-s2').css({'display':'block'});
175
 
176
  jQuery(document).on('click', '.um-field-group-head:not(.disabled)', function(){
177
  var field = jQuery(this).parents('.um-field-group');
178
  var limit = field.data('max_entries');
179
+
180
  if ( field.find('.um-field-group-body').is(':hidden')){
181
  field.find('.um-field-group-body').show();
182
  } else {
183
  field.find('.um-field-group-body:first').clone().appendTo( field );
184
  }
185
+
186
  increase_id = 0;
187
  field.find('.um-field-group-body').each(function(){
188
  increase_id++;
193
  input.parent().parent().find('label').attr('for', input.data('key') + '-' + increase_id );
194
  });
195
  });
196
+
197
  if ( limit > 0 && field.find('.um-field-group-body').length == limit ) {
198
+
199
  jQuery(this).addClass('disabled');
200
+
201
  }
202
+
203
  });
204
 
205
  jQuery(document).on('click', '.um-field-group-cancel', function(e){
206
  e.preventDefault();
207
  var field = jQuery(this).parents('.um-field-group');
208
+
209
  var limit = field.data('max_entries');
210
+
211
  if ( field.find('.um-field-group-body').length > 1 ) {
212
  jQuery(this).parents('.um-field-group-body').remove();
213
  } else {
214
  jQuery(this).parents('.um-field-group-body').hide();
215
  }
216
+
217
  if ( limit > 0 && field.find('.um-field-group-body').length < limit ) {
218
  field.find('.um-field-group-head').removeClass('disabled');
219
  }
220
+
221
  return false;
222
  });
223
+
224
  jQuery(document).on('click', '.um-ajax-paginate', function(e){
225
  e.preventDefault();
226
  var parent = jQuery(this).parent();
246
  });
247
  return false;
248
  });
249
+
250
  jQuery(document).on('click', '.um-ajax-action', function(e){
251
  e.preventDefault();
252
  var hook = jQuery(this).data('hook');
253
  var user_id = jQuery(this).data('user_id');
254
  var arguments = jQuery(this).data('arguments');
255
+
256
  if ( jQuery(this).data('js-remove') ){
257
  jQuery(this).parents('.'+jQuery(this).data('js-remove')).fadeOut('fast');
258
  }
259
+
260
  jQuery.ajax({
261
  url: um_scripts.ajaxurl,
262
  type: 'post',
273
  return false;
274
  });
275
 
276
+ });
core/um-actions-access.php CHANGED
@@ -63,7 +63,12 @@
63
  add_action('um_access_category_settings','um_access_category_settings');
64
  function um_access_category_settings() {
65
  global $post, $wp_query, $ultimatemember;
66
- if ( is_single() || get_the_category() && ! is_front_page() && ! is_home() ) {
 
 
 
 
 
67
 
68
 
69
  $categories = get_the_category();
@@ -82,7 +87,7 @@
82
  case 1:
83
 
84
  if ( is_user_logged_in() )
85
- $ultimatemember->access->redirect_handler = ( isset( $opt['_um_redirect'] ) ) ? $opt['_um_redirect'] : home_url();
86
 
87
  if ( !is_user_logged_in() )
88
  $ultimatemember->access->allow_access = true;
@@ -98,7 +103,7 @@
98
  if ( !in_array( um_user('role'), $opt['_um_roles'] ) ) {
99
 
100
  if ( is_user_logged_in() )
101
- $ultimatemember->access->redirect_handler = ( isset( $opt['_um_redirect'] ) ) ? $opt['_um_redirect'] : home_url();
102
 
103
  if ( !is_user_logged_in() )
104
  $ultimatemember->access->redirect_handler = um_get_core_page('login');
@@ -107,6 +112,11 @@
107
 
108
  }
109
  }
 
 
 
 
 
110
  }
111
  }
112
  }
@@ -123,7 +133,7 @@
123
 
124
  $post_id = get_option('woocommerce_shop_page_id');
125
 
126
- } else if ( is_archive() || is_front_page() || is_search() || in_the_loop() ) {
127
 
128
  return;
129
 
@@ -184,7 +194,7 @@
184
  if ( !in_array( um_user('role'), unserialize( $access_roles ) ) ) {
185
  if ( !$access_redirect ) {
186
  if ( is_user_logged_in() ) {
187
- $access_redirect = home_url();
188
  } else {
189
  $access_redirect = um_get_core_page('login');
190
  }
63
  add_action('um_access_category_settings','um_access_category_settings');
64
  function um_access_category_settings() {
65
  global $post, $wp_query, $ultimatemember;
66
+
67
+ if( is_front_page() || is_home() ){
68
+ return;
69
+ }
70
+
71
+ if ( is_single() || get_the_category() ) {
72
 
73
 
74
  $categories = get_the_category();
87
  case 1:
88
 
89
  if ( is_user_logged_in() )
90
+ $ultimatemember->access->redirect_handler = ( isset( $opt['_um_redirect'] ) ) ? $opt['_um_redirect'] : site_url();
91
 
92
  if ( !is_user_logged_in() )
93
  $ultimatemember->access->allow_access = true;
103
  if ( !in_array( um_user('role'), $opt['_um_roles'] ) ) {
104
 
105
  if ( is_user_logged_in() )
106
+ $ultimatemember->access->redirect_handler = ( isset( $opt['_um_redirect'] ) ) ? $opt['_um_redirect'] : site_url();
107
 
108
  if ( !is_user_logged_in() )
109
  $ultimatemember->access->redirect_handler = um_get_core_page('login');
112
 
113
  }
114
  }
115
+
116
+ if( is_archive() ){
117
+ $ultimatemember->access->allow_access = true;
118
+ $ultimatemember->access->redirect_handler = false; // open to everyone
119
+ }
120
  }
121
  }
122
  }
133
 
134
  $post_id = get_option('woocommerce_shop_page_id');
135
 
136
+ } else if ( is_archive() || is_front_page() || is_home() || is_search() || in_the_loop() ) {
137
 
138
  return;
139
 
194
  if ( !in_array( um_user('role'), unserialize( $access_roles ) ) ) {
195
  if ( !$access_redirect ) {
196
  if ( is_user_logged_in() ) {
197
+ $access_redirect = site_url();
198
  } else {
199
  $access_redirect = um_get_core_page('login');
200
  }
core/um-actions-login.php CHANGED
@@ -203,6 +203,7 @@
203
 
204
  <?php if ( isset( $args['show_rememberme'] ) && $args['show_rememberme'] ) {
205
  echo $ultimatemember->fields->checkbox('rememberme', __('Keep me signed in','ultimatemember') );
 
206
  } ?>
207
 
208
  <?php if ( isset($args['secondary_btn']) && $args['secondary_btn'] != 0 ) { ?>
203
 
204
  <?php if ( isset( $args['show_rememberme'] ) && $args['show_rememberme'] ) {
205
  echo $ultimatemember->fields->checkbox('rememberme', __('Keep me signed in','ultimatemember') );
206
+ echo '<div class="um-clear"></div>';
207
  } ?>
208
 
209
  <?php if ( isset($args['secondary_btn']) && $args['secondary_btn'] != 0 ) { ?>
core/um-actions-members.php CHANGED
@@ -222,22 +222,24 @@
222
 
223
  <?php $i = 0; foreach( um_members('users_per_page') as $member) { $i++; um_fetch_user( $member ); ?>
224
 
225
- <div class="um-member <?php echo um_user('account_status'); ?> <?php if ($cover_photos) { echo 'with-cover'; } ?>">
226
 
227
  <span class="um-member-status <?php echo um_user('account_status'); ?>"><?php echo um_user('account_status_name'); ?></span>
228
 
229
  <?php if ($cover_photos) {
230
 
 
 
231
  if ( $ultimatemember->mobile->isTablet() ) {
232
- $cover_size = 600;
233
  } else {
234
- $cover_size = 300;
235
  }
236
 
237
  ?>
238
 
239
  <div class="um-member-cover" data-ratio="<?php echo um_get_option('profile_cover_ratio'); ?>">
240
- <div class="um-member-cover-e"><?php echo um_user('cover_photo', $cover_size); ?></div>
241
  </div>
242
 
243
  <?php } ?>
222
 
223
  <?php $i = 0; foreach( um_members('users_per_page') as $member) { $i++; um_fetch_user( $member ); ?>
224
 
225
+ <div class="um-member um-role-<?php echo um_user('role'); ?> <?php echo um_user('account_status'); ?> <?php if ($cover_photos) { echo 'with-cover'; } ?>">
226
 
227
  <span class="um-member-status <?php echo um_user('account_status'); ?>"><?php echo um_user('account_status_name'); ?></span>
228
 
229
  <?php if ($cover_photos) {
230
 
231
+ $sizes = um_get_option('cover_thumb_sizes');
232
+
233
  if ( $ultimatemember->mobile->isTablet() ) {
234
+ $cover_size = $sizes[1];
235
  } else {
236
+ $cover_size = $sizes[0];
237
  }
238
 
239
  ?>
240
 
241
  <div class="um-member-cover" data-ratio="<?php echo um_get_option('profile_cover_ratio'); ?>">
242
+ <div class="um-member-cover-e"><a href="<?php echo um_user_profile_url(); ?>" title="<?php echo um_user('display_name'); ?>"><?php echo um_user('cover_photo', $cover_size); ?></a></div>
243
  </div>
244
 
245
  <?php } ?>
core/um-actions-profile.php CHANGED
@@ -6,49 +6,49 @@
6
  add_action('um_profile_content_main','um_profile_content_main');
7
  function um_profile_content_main( $args ) {
8
  extract( $args );
9
-
10
  if ( !um_get_option('profile_tab_main') && !isset( $_REQUEST['um_action'] ) )
11
  return;
12
-
13
  $can_view = apply_filters('um_profile_can_view_main', -1, um_profile_id() );
14
-
15
  if ( $can_view == -1 ) {
16
-
17
  do_action("um_before_form", $args);
18
-
19
  do_action("um_before_{$mode}_fields", $args);
20
-
21
  do_action("um_main_{$mode}_fields", $args);
22
-
23
  do_action("um_after_form_fields", $args);
24
-
25
  do_action("um_after_{$mode}_fields", $args);
26
-
27
  do_action("um_after_form", $args);
28
-
29
  } else {
30
-
31
  ?>
32
-
33
  <div class="um-profile-note"><span><i class="um-faicon-lock"></i><?php echo $can_view; ?></span></div>
34
-
35
  <?php
36
-
37
  }
38
-
39
  }
40
-
41
  /***
42
  *** @update user's profile
43
  ***/
44
  add_action('um_user_edit_profile', 'um_user_edit_profile', 10);
45
  function um_user_edit_profile($args){
46
-
47
  global $ultimatemember;
48
-
49
  $to_update = null;
50
  $files = null;
51
-
52
  if ( isset( $args['user_id'] ) ) {
53
  if ( um_current_user_can('edit', $args['user_id'] ) ) {
54
  $ultimatemember->user->set( $args['user_id'] );
@@ -58,27 +58,27 @@
58
  } else if ( isset( $args['_user_id'] ) ) {
59
  $ultimatemember->user->set( $args['_user_id'] );
60
  }
61
-
62
  $userinfo = $ultimatemember->user->profile;
63
-
64
  $fields = unserialize( $args['custom_fields'] );
65
-
66
  do_action('um_user_before_updating_profile', $userinfo );
67
-
68
  // loop through fields
69
  if ( isset( $fields ) && is_array( $fields ) ) {
70
  foreach( $fields as $key => $array ) {
71
-
72
  if ( $fields[$key]['type'] == 'multiselect' || $fields[$key]['type'] == 'checkbox' && !isset($args['submitted'][$key]) ) {
73
  delete_user_meta( um_user('ID'), $key );
74
  }
75
-
76
  if ( isset( $args['submitted'][ $key ] ) ) {
77
 
78
  if ( isset( $fields[$key]['type'] ) && in_array( $fields[$key]['type'], array('image','file') ) && um_is_temp_upload( $args['submitted'][ $key ] ) ) {
79
-
80
  $files[ $key ] = $args['submitted'][ $key ];
81
-
82
  } else {
83
 
84
  if ( isset( $userinfo[$key]) && $args['submitted'][$key] != $userinfo[$key] ) {
@@ -86,23 +86,23 @@
86
  } else if ( $args['submitted'][$key] ) {
87
  $to_update[ $key ] = $args['submitted'][ $key ];
88
  }
89
-
90
  }
91
-
92
  }
93
  }
94
  }
95
-
96
  if ( isset( $args['submitted']['description'] ) ) {
97
  $to_update['description'] = $args['submitted']['description'];
98
  }
99
-
100
  if ( isset( $args['submitted']['role'] ) && !empty( $args['submitted']['role'] ) ) {
101
  $to_update['role'] = $args['submitted']['role'];
102
  }
103
-
104
  do_action('um_user_pre_updating_profile', $to_update );
105
-
106
  $to_update = apply_filters('um_user_pre_updating_profile_array', $to_update);
107
 
108
  if ( is_array( $to_update ) ) {
@@ -112,78 +112,78 @@
112
  if ( is_array( $files ) ) {
113
  $ultimatemember->user->update_files( $files );
114
  }
115
-
116
  do_action('um_after_user_updated', um_user('ID') );
117
  do_action('um_after_user_upload', um_user('ID') );
118
  do_action('um_user_after_updating_profile', $to_update );
119
-
120
  if ( !isset( $args['is_signup'] ) ) {
121
  exit( wp_redirect( um_edit_my_profile_cancel_uri() ) );
122
  }
123
-
124
  }
125
-
126
  /***
127
  *** @if editing another user
128
  ***/
129
  add_action('um_after_form_fields', 'um_editing_user_id_input');
130
- function um_editing_user_id_input($args){
131
  global $ultimatemember;
132
  if ( $ultimatemember->fields->editing == 1 && $ultimatemember->fields->set_mode == 'profile' && $ultimatemember->user->target_id ) { ?>
133
-
134
  <input type="hidden" name="user_id" id="user_id" value="<?php echo $ultimatemember->user->target_id; ?>" />
135
 
136
  <?php
137
-
138
  }
139
  }
140
-
141
  /***
142
  *** @meta description
143
  ***/
144
  add_action('wp_head', 'um_profile_dynamic_meta_desc', 9999999);
145
  function um_profile_dynamic_meta_desc() {
146
  global $ultimatemember;
147
-
148
  if ( um_is_core_page('user') && um_get_requested_user() ) {
149
-
150
  um_fetch_user( um_get_requested_user() );
151
-
152
  $content = um_convert_tags( um_get_option('profile_desc') );
153
  $user_id = um_user('ID');
154
  $url = um_user_profile_url();
155
-
156
  if ( um_profile('profile_photo') ) {
157
  $avatar = um_user_uploads_uri() . um_profile('profile_photo');
158
  } else {
159
  $avatar = um_get_default_avatar_uri();
160
  }
161
-
162
  um_reset_user(); ?>
163
-
164
  <meta name="description" content="<?php echo $content; ?>">
165
-
166
  <meta property="og:title" content="<?php echo um_get_display_name( $user_id ); ?>" />
167
  <meta property="og:type" content="article" />
168
  <meta property="og:image" content="<?php echo $avatar; ?>" />
169
  <meta property="og:url" content="<?php echo $url; ?>" />
170
  <meta property="og:description" content="<?php echo $content; ?>" />
171
-
172
  <?php
173
  }
174
  }
175
-
176
  /***
177
  *** @profile header cover
178
  ***/
179
  add_action('um_profile_header_cover_area', 'um_profile_header_cover_area', 9 );
180
  function um_profile_header_cover_area( $args ) {
181
  global $ultimatemember;
182
-
183
  if ( $args['cover_enabled'] == 1 ) {
184
-
185
  $default_cover = um_get_option('default_cover');
186
-
187
  $overlay = '<span class="um-cover-overlay">
188
  <span class="um-cover-overlay-s">
189
  <ins>
@@ -192,36 +192,36 @@
192
  </ins>
193
  </span>
194
  </span>';
195
-
196
  ?>
197
 
198
  <div class="um-cover <?php if ( um_profile('cover_photo') || ( $default_cover && $default_cover['url'] ) ) echo 'has-cover'; ?>" data-user_id="<?php echo um_profile_id(); ?>" data-ratio="<?php echo $args['cover_ratio']; ?>">
199
-
200
  <?php
201
-
202
  if ( $ultimatemember->fields->editing ) {
203
-
204
  $items = array(
205
  '<a href="#" class="um-manual-trigger" data-parent=".um-cover" data-child=".um-btn-auto-width">'.__('Change cover photo','ultimatemember').'</a>',
206
  '<a href="#" class="um-reset-cover-photo" data-user_id="'.um_profile_id().'">'.__('Remove','ultimatemember').'</a>',
207
  '<a href="#" class="um-dropdown-hide">'.__('Cancel','ultimatemember').'</a>',
208
  );
209
-
210
  echo $ultimatemember->menu->new_ui( 'bc', 'div.um-cover', 'click', $items );
211
-
212
  }
213
  ?>
214
-
215
  <?php $ultimatemember->fields->add_hidden_field( 'cover_photo' ); ?>
216
-
217
  <?php echo $overlay; ?>
218
-
219
  <div class="um-cover-e">
220
-
221
  <?php if ( um_profile('cover_photo') ) { ?>
222
-
223
  <?php
224
-
225
  if( $ultimatemember->mobile->isMobile() ){
226
  if ( $ultimatemember->mobile->isTablet() ) {
227
  echo um_user('cover_photo', 1000);
@@ -231,35 +231,35 @@
231
  } else {
232
  echo um_user('cover_photo', 1000);
233
  }
234
-
235
  ?>
236
-
237
  <?php } elseif ( $default_cover && $default_cover['url'] ) {
238
 
239
  $default_cover = $default_cover['url'];
240
-
241
  echo '<img src="'. $default_cover . '" alt="" />';
242
-
243
  } else {
244
-
245
  if ( !isset( $ultimatemember->user->cannot_edit ) ) { ?>
246
-
247
  <a href="#" class="um-cover-add um-manual-trigger" data-parent=".um-cover" data-child=".um-btn-auto-width"><span class="um-cover-add-i"><i class="um-icon-plus um-tip-n" title="<?php _e('Upload a cover photo','ultimatemember'); ?>"></i></span></a>
248
-
249
  <?php }
250
-
251
  } ?>
252
-
253
  </div>
254
-
255
  </div>
256
-
257
  <?php
258
 
259
  }
260
-
261
  }
262
-
263
  /***
264
  *** @Show social links as icons below profile name
265
  ***/
@@ -281,15 +281,15 @@
281
  add_action('um_profile_header', 'um_profile_header', 9 );
282
  function um_profile_header( $args ) {
283
  global $ultimatemember;
284
-
285
  $classes = null;
286
-
287
  if ( !$args['cover_enabled'] ) {
288
  $classes .= ' no-cover';
289
  }
290
-
291
  $default_size = str_replace( 'px', '', $args['photosize'] );
292
-
293
  $overlay = '<span class="um-profile-photo-overlay">
294
  <span class="um-profile-photo-overlay-s">
295
  <ins>
@@ -297,115 +297,121 @@
297
  </ins>
298
  </span>
299
  </span>';
300
-
301
  ?>
302
-
303
  <div class="um-header<?php echo $classes; ?>">
304
-
305
  <?php do_action('um_pre_header_editprofile', $args); ?>
306
-
307
  <div class="um-profile-photo" data-user_id="<?php echo um_profile_id(); ?>">
308
 
309
  <a href="<?php echo um_user_profile_url(); ?>" class="um-profile-photo-img" title="<?php echo um_user('display_name'); ?>"><?php echo $overlay . get_avatar( um_user('ID'), $default_size ); ?></a>
310
-
311
  <?php
312
-
313
- if ( !isset( $ultimatemember->user->cannot_edit ) ) {
314
-
315
  $ultimatemember->fields->add_hidden_field( 'profile_photo' );
316
-
317
  if ( !um_profile('profile_photo') ) { // has profile photo
318
-
319
  $items = array(
320
  '<a href="#" class="um-manual-trigger" data-parent=".um-profile-photo" data-child=".um-btn-auto-width">'.__('Upload photo','ultimatemember').'</a>',
321
  '<a href="#" class="um-dropdown-hide">'.__('Cancel','ultimatemember').'</a>',
322
  );
323
-
324
  $items = apply_filters('um_user_photo_menu_view', $items );
325
-
326
  echo $ultimatemember->menu->new_ui( 'bc', 'div.um-profile-photo', 'click', $items );
327
-
328
  } else if ( $ultimatemember->fields->editing == true ) {
329
-
330
  $items = array(
331
  '<a href="#" class="um-manual-trigger" data-parent=".um-profile-photo" data-child=".um-btn-auto-width">'.__('Change photo','ultimatemember').'</a>',
332
  '<a href="#" class="um-reset-profile-photo" data-user_id="'.um_profile_id().'" data-default_src="'.um_get_default_avatar_uri().'">'.__('Remove photo','ultimatemember').'</a>',
333
  '<a href="#" class="um-dropdown-hide">'.__('Cancel','ultimatemember').'</a>',
334
  );
335
-
336
  $items = apply_filters('um_user_photo_menu_edit', $items );
337
-
338
  echo $ultimatemember->menu->new_ui( 'bc', 'div.um-profile-photo', 'click', $items );
339
-
340
  }
341
-
342
  }
343
-
344
  ?>
345
-
346
  </div>
347
-
348
  <div class="um-profile-meta">
349
-
350
  <div class="um-main-meta">
351
-
352
  <?php if ( $args['show_name'] ) { ?>
353
  <div class="um-name">
354
-
355
  <a href="<?php echo um_user_profile_url(); ?>" title="<?php echo um_user('display_name'); ?>"><?php echo um_user('display_name', 'html'); ?></a>
356
-
357
  <?php do_action('um_after_profile_name_inline', $args ); ?>
358
-
359
  </div>
360
  <?php } ?>
361
-
362
  <div class="um-clear"></div>
363
-
364
  <?php do_action('um_after_profile_header_name_args', $args ); ?>
365
  <?php do_action('um_after_profile_header_name'); ?>
366
-
367
  </div>
368
-
369
  <?php if ( isset( $args['metafields'] ) && !empty( $args['metafields'] ) ) { ?>
370
  <div class="um-meta">
371
-
372
  <?php echo $ultimatemember->profile->show_meta( $args['metafields'] ); ?>
373
-
374
  </div>
375
  <?php } ?>
376
 
377
  <?php if ( $ultimatemember->fields->viewing == true && um_user('description') && $args['show_bio'] ) { ?>
378
-
379
- <div class="um-meta-text"><?php echo wp_strip_all_tags( um_filtered_value('description') ); ?></div>
380
-
 
 
 
 
 
 
381
  <?php } else if ( $ultimatemember->fields->editing == true && $args['show_bio'] ) { ?>
382
-
383
  <div class="um-meta-text">
384
  <textarea placeholder="<?php _e('Tell us a bit about yourself...','ultimatemember'); ?>" name="<?php echo 'description-' . $args['form_id']; ?>" id="<?php echo 'description-' . $args['form_id']; ?>"><?php if ( um_user('description') ) { echo um_user('description'); } ?></textarea>
385
-
386
  <?php if ( $ultimatemember->fields->is_error('description') ) {
387
- echo $ultimatemember->fields->field_error( $ultimatemember->fields->show_error('description'), true ); }
388
  ?>
389
-
390
  </div>
391
-
392
  <?php } ?>
393
-
394
  <div class="um-profile-status <?php echo um_user('account_status'); ?>">
395
  <span><?php printf(__('This user account status is %s','ultimatemember'), um_user('account_status_name') ); ?></span>
396
  </div>
397
-
398
  <?php do_action('um_after_header_meta', um_user('ID'), $args ); ?>
399
-
400
  </div><div class="um-clear"></div>
401
-
402
  <?php do_action('um_after_header_info', um_user('ID'), $args); ?>
403
-
404
  </div>
405
-
406
  <?php
407
  }
408
-
409
  /***
410
  *** @adds profile permissions to view/edit
411
  ***/
@@ -413,10 +419,10 @@
413
  function um_pre_profile_shortcode($args){
414
  global $ultimatemember;
415
  extract( $args );
416
-
417
  if ( $mode == 'profile' && $ultimatemember->fields->editing == false ) {
418
  $ultimatemember->fields->viewing = 1;
419
-
420
  if ( um_get_requested_user() ) {
421
  if ( !um_can_view_profile( um_get_requested_user() ) ) um_redirect_home();
422
  if ( !um_current_user_can('edit', um_get_requested_user() ) ) $ultimatemember->user->cannot_edit = 1;
@@ -425,21 +431,21 @@
425
  if ( !is_user_logged_in() ) um_redirect_home();
426
  if ( !um_user('can_edit_profile') ) $ultimatemember->user->cannot_edit = 1;
427
  }
428
-
429
  }
430
 
431
  if ( $mode == 'profile' && $ultimatemember->fields->editing == true ) {
432
  $ultimatemember->fields->editing = 1;
433
-
434
  if ( um_get_requested_user() ) {
435
  if ( !um_current_user_can('edit', um_get_requested_user() ) ) um_redirect_home();
436
  um_fetch_user( um_get_requested_user() );
437
  }
438
-
439
  }
440
-
441
  }
442
-
443
  /***
444
  *** @display the edit profile icon
445
  ***/
@@ -447,160 +453,160 @@
447
  function um_add_edit_icon( $args ) {
448
  global $ultimatemember;
449
  $output = '';
450
-
451
  if ( !is_user_logged_in() ) return; // not allowed for guests
452
-
453
  if ( isset( $ultimatemember->user->cannot_edit ) && $ultimatemember->user->cannot_edit == 1 ) return; // do not proceed if user cannot edit
454
-
455
  if ( $ultimatemember->fields->editing == true ) {
456
-
457
  ?>
458
-
459
  <div class="um-profile-edit um-profile-headericon">
460
-
461
  <a href="#" class="um-profile-edit-a um-profile-save"><i class="um-faicon-check"></i></a>
462
-
463
  </div>
464
-
465
  <?php } else { ?>
466
-
467
  <div class="um-profile-edit um-profile-headericon">
468
-
469
  <a href="#" class="um-profile-edit-a"><i class="um-faicon-cog"></i></a>
470
-
471
  <?php
472
-
473
  $items = array(
474
  'editprofile' => '<a href="'.um_edit_profile_url().'" class="real_url">'.__('Edit Profile','ultimatemember').'</a>',
475
  'myaccount' => '<a href="'.um_get_core_page('account').'" class="real_url">'.__('My Account','ultimatemember').'</a>',
476
  'logout' => '<a href="'.um_get_core_page('logout').'" class="real_url">'.__('Logout','ultimatemember').'</a>',
477
  'cancel' => '<a href="#" class="um-dropdown-hide">'.__('Cancel','ultimatemember').'</a>',
478
  );
479
-
480
  $cancel = $items['cancel'];
481
-
482
  if ( !um_is_myprofile() ) {
483
-
484
  $actions = $ultimatemember->user->get_admin_actions();
485
-
486
  unset( $items['myaccount'] );
487
  unset( $items['logout'] );
488
  unset( $items['cancel'] );
489
-
490
  if ( is_array( $actions ) ) {
491
  $items = array_merge( $items, $actions );
492
  }
493
-
494
  $items = apply_filters('um_profile_edit_menu_items', $items, um_profile_id() );
495
-
496
  $items['cancel'] = $cancel;
497
 
498
  } else {
499
-
500
  $items = apply_filters('um_myprofile_edit_menu_items', $items );
501
-
502
  }
503
-
504
  echo $ultimatemember->menu->new_ui( $args['header_menu'], 'div.um-profile-edit', 'click', $items );
505
-
506
  ?>
507
-
508
  </div>
509
-
510
  <?php
511
  }
512
-
513
  }
514
-
515
  /***
516
  *** @Show Fields
517
  ***/
518
  add_action('um_main_profile_fields', 'um_add_profile_fields', 100);
519
  function um_add_profile_fields($args){
520
  global $ultimatemember;
521
-
522
  if ( $ultimatemember->fields->editing == true ) {
523
-
524
  echo $ultimatemember->fields->display( 'profile', $args );
525
-
526
  } else {
527
-
528
  $ultimatemember->fields->viewing = true;
529
-
530
  echo $ultimatemember->fields->display_view( 'profile', $args );
531
-
532
  }
533
-
534
  }
535
-
536
  /***
537
  *** @form processing
538
  ***/
539
  add_action('um_submit_form_profile', 'um_submit_form_profile', 10);
540
  function um_submit_form_profile($args){
541
  global $ultimatemember;
542
-
543
  if ( !isset($ultimatemember->form->errors) ) do_action('um_user_edit_profile', $args);
544
 
545
  do_action('um_user_profile_extra_hook', $args );
546
-
547
  }
548
-
549
  /***
550
  *** @Show the submit button (highest priority)
551
  ***/
552
  add_action('um_after_profile_fields', 'um_add_submit_button_to_profile', 1000);
553
  function um_add_submit_button_to_profile($args){
554
  global $ultimatemember;
555
-
556
  // DO NOT add when reviewing user's details
557
  if ( $ultimatemember->user->preview == true && is_admin() ) return;
558
-
559
  // only when editing
560
  if ( $ultimatemember->fields->editing == false ) return;
561
-
562
  ?>
563
-
564
  <div class="um-col-alt">
565
-
566
  <?php if ( isset($args['secondary_btn']) && $args['secondary_btn'] != 0 ) { ?>
567
-
568
  <div class="um-left um-half"><input type="submit" value="<?php echo $args['primary_btn_word']; ?>" class="um-button" /></div>
569
  <div class="um-right um-half"><a href="<?php echo um_edit_my_profile_cancel_uri(); ?>" class="um-button um-alt"><?php echo $args['secondary_btn_word']; ?></a></div>
570
-
571
  <?php } else { ?>
572
-
573
  <div class="um-center"><input type="submit" value="<?php echo $args['primary_btn_word']; ?>" class="um-button" /></div>
574
-
575
  <?php } ?>
576
-
577
  <div class="um-clear"></div>
578
-
579
  </div>
580
-
581
  <?php
582
  }
583
-
584
  /***
585
  *** @display the available profile tabs
586
  ***/
587
  add_action('um_profile_navbar', 'um_profile_navbar', 9 );
588
  function um_profile_navbar( $args ) {
589
  global $ultimatemember;
590
-
591
  if ( !um_get_option('profile_menu') )
592
  return;
593
-
594
  // get active tabs
595
  $tabs = $ultimatemember->profile->tabs_active();
596
 
597
  $tabs = apply_filters('um_user_profile_tabs', $tabs );
598
 
599
  $ultimatemember->user->tabs = $tabs;
600
-
601
  // need enough tabs to continue
602
  if ( count( $tabs ) <= 1 ) return;
603
-
604
  $active_tab = $ultimatemember->profile->active_tab();
605
 
606
  if ( !isset( $tabs[$active_tab] ) ) {
@@ -608,7 +614,7 @@
608
  $ultimatemember->profile->active_tab = $active_tab;
609
  $ultimatemember->profile->active_subnav = null;
610
  }
611
-
612
  // Move default tab priority
613
  $default_tab = um_get_option('profile_menu_default_tab');
614
  $dtab = ( isset( $tabs[$default_tab] ) )? $tabs[$default_tab] : 'main';
@@ -617,63 +623,63 @@
617
  $dtabs[$default_tab] = $dtab;
618
  $tabs = $dtabs + $tabs;
619
  }
620
-
621
  ?>
622
-
623
  <div class="um-profile-nav">
624
-
625
  <?php foreach( $tabs as $id => $tab ) {
626
-
627
  if ( isset( $tab['hidden'] ) ) continue;
628
-
629
  $nav_link = $ultimatemember->permalinks->get_current_url( get_option('permalink_structure') );
630
  $nav_link = remove_query_arg( 'um_action', $nav_link );
631
  $nav_link = remove_query_arg( 'subnav', $nav_link );
632
  $nav_link = add_query_arg('profiletab', $id, $nav_link );
633
-
634
  $nav_link = apply_filters("um_profile_menu_link_{$id}", $nav_link);
635
-
636
  ?>
637
-
638
  <div class="um-profile-nav-item um-profile-nav-<?php echo $id; ?> <?php if ( !um_get_option('profile_menu_icons') ) { echo 'without-icon'; } ?> <?php if ( $id == $active_tab ) { echo 'active'; } ?>">
639
  <a href="<?php echo $nav_link; ?>" title="<?php echo $tab['name']; ?>">
640
 
641
  <i class="<?php echo $tab['icon']; ?>"></i>
642
-
643
  <?php if ( isset( $tab['notifier'] ) && $tab['notifier'] > 0 ) { ?>
644
  <span class="um-tab-notifier uimob500-show uimob340-show uimob800-show"><?php echo $tab['notifier']; ?></span>
645
  <?php } ?>
646
-
647
  <span class="uimob500-hide uimob340-hide uimob800-hide title"><?php echo $tab['name']; ?></span>
648
-
649
  </a>
650
  </div>
651
-
652
  <?php } ?>
653
-
654
  <div class="um-clear"></div>
655
-
656
  </div>
657
-
658
  <?php foreach( $tabs as $id => $tab ) {
659
-
660
  if ( isset( $tab['subnav'] ) && $active_tab == $id ) {
661
-
662
  $active_subnav = ( $ultimatemember->profile->active_subnav() ) ? $ultimatemember->profile->active_subnav() : $tab['subnav_default'];
663
 
664
  echo '<div class="um-profile-subnav">';
665
  foreach( $tab['subnav'] as $id => $subtab ) {
666
-
667
  ?>
668
-
669
  <a href="<?php echo add_query_arg('subnav', $id ); ?>" class="<?php if ( $active_subnav == $id ) echo 'active'; ?>"><?php echo $subtab; ?></a>
670
-
671
  <?php
672
-
673
  }
674
  echo '</div>';
675
  }
676
-
677
  }
678
-
679
- }
6
  add_action('um_profile_content_main','um_profile_content_main');
7
  function um_profile_content_main( $args ) {
8
  extract( $args );
9
+
10
  if ( !um_get_option('profile_tab_main') && !isset( $_REQUEST['um_action'] ) )
11
  return;
12
+
13
  $can_view = apply_filters('um_profile_can_view_main', -1, um_profile_id() );
14
+
15
  if ( $can_view == -1 ) {
16
+
17
  do_action("um_before_form", $args);
18
+
19
  do_action("um_before_{$mode}_fields", $args);
20
+
21
  do_action("um_main_{$mode}_fields", $args);
22
+
23
  do_action("um_after_form_fields", $args);
24
+
25
  do_action("um_after_{$mode}_fields", $args);
26
+
27
  do_action("um_after_form", $args);
28
+
29
  } else {
30
+
31
  ?>
32
+
33
  <div class="um-profile-note"><span><i class="um-faicon-lock"></i><?php echo $can_view; ?></span></div>
34
+
35
  <?php
36
+
37
  }
38
+
39
  }
40
+
41
  /***
42
  *** @update user's profile
43
  ***/
44
  add_action('um_user_edit_profile', 'um_user_edit_profile', 10);
45
  function um_user_edit_profile($args){
46
+
47
  global $ultimatemember;
48
+
49
  $to_update = null;
50
  $files = null;
51
+
52
  if ( isset( $args['user_id'] ) ) {
53
  if ( um_current_user_can('edit', $args['user_id'] ) ) {
54
  $ultimatemember->user->set( $args['user_id'] );
58
  } else if ( isset( $args['_user_id'] ) ) {
59
  $ultimatemember->user->set( $args['_user_id'] );
60
  }
61
+
62
  $userinfo = $ultimatemember->user->profile;
63
+
64
  $fields = unserialize( $args['custom_fields'] );
65
+
66
  do_action('um_user_before_updating_profile', $userinfo );
67
+
68
  // loop through fields
69
  if ( isset( $fields ) && is_array( $fields ) ) {
70
  foreach( $fields as $key => $array ) {
71
+
72
  if ( $fields[$key]['type'] == 'multiselect' || $fields[$key]['type'] == 'checkbox' && !isset($args['submitted'][$key]) ) {
73
  delete_user_meta( um_user('ID'), $key );
74
  }
75
+
76
  if ( isset( $args['submitted'][ $key ] ) ) {
77
 
78
  if ( isset( $fields[$key]['type'] ) && in_array( $fields[$key]['type'], array('image','file') ) && um_is_temp_upload( $args['submitted'][ $key ] ) ) {
79
+
80
  $files[ $key ] = $args['submitted'][ $key ];
81
+
82
  } else {
83
 
84
  if ( isset( $userinfo[$key]) && $args['submitted'][$key] != $userinfo[$key] ) {
86
  } else if ( $args['submitted'][$key] ) {
87
  $to_update[ $key ] = $args['submitted'][ $key ];
88
  }
89
+
90
  }
91
+
92
  }
93
  }
94
  }
95
+
96
  if ( isset( $args['submitted']['description'] ) ) {
97
  $to_update['description'] = $args['submitted']['description'];
98
  }
99
+
100
  if ( isset( $args['submitted']['role'] ) && !empty( $args['submitted']['role'] ) ) {
101
  $to_update['role'] = $args['submitted']['role'];
102
  }
103
+
104
  do_action('um_user_pre_updating_profile', $to_update );
105
+
106
  $to_update = apply_filters('um_user_pre_updating_profile_array', $to_update);
107
 
108
  if ( is_array( $to_update ) ) {
112
  if ( is_array( $files ) ) {
113
  $ultimatemember->user->update_files( $files );
114
  }
115
+
116
  do_action('um_after_user_updated', um_user('ID') );
117
  do_action('um_after_user_upload', um_user('ID') );
118
  do_action('um_user_after_updating_profile', $to_update );
119
+
120
  if ( !isset( $args['is_signup'] ) ) {
121
  exit( wp_redirect( um_edit_my_profile_cancel_uri() ) );
122
  }
123
+
124
  }
125
+
126
  /***
127
  *** @if editing another user
128
  ***/
129
  add_action('um_after_form_fields', 'um_editing_user_id_input');
130
+ function um_editing_user_id_input($args){
131
  global $ultimatemember;
132
  if ( $ultimatemember->fields->editing == 1 && $ultimatemember->fields->set_mode == 'profile' && $ultimatemember->user->target_id ) { ?>
133
+
134
  <input type="hidden" name="user_id" id="user_id" value="<?php echo $ultimatemember->user->target_id; ?>" />
135
 
136
  <?php
137
+
138
  }
139
  }
140
+
141
  /***
142
  *** @meta description
143
  ***/
144
  add_action('wp_head', 'um_profile_dynamic_meta_desc', 9999999);
145
  function um_profile_dynamic_meta_desc() {
146
  global $ultimatemember;
147
+
148
  if ( um_is_core_page('user') && um_get_requested_user() ) {
149
+
150
  um_fetch_user( um_get_requested_user() );
151
+
152
  $content = um_convert_tags( um_get_option('profile_desc') );
153
  $user_id = um_user('ID');
154
  $url = um_user_profile_url();
155
+
156
  if ( um_profile('profile_photo') ) {
157
  $avatar = um_user_uploads_uri() . um_profile('profile_photo');
158
  } else {
159
  $avatar = um_get_default_avatar_uri();
160
  }
161
+
162
  um_reset_user(); ?>
163
+
164
  <meta name="description" content="<?php echo $content; ?>">
165
+
166
  <meta property="og:title" content="<?php echo um_get_display_name( $user_id ); ?>" />
167
  <meta property="og:type" content="article" />
168
  <meta property="og:image" content="<?php echo $avatar; ?>" />
169
  <meta property="og:url" content="<?php echo $url; ?>" />
170
  <meta property="og:description" content="<?php echo $content; ?>" />
171
+
172
  <?php
173
  }
174
  }
175
+
176
  /***
177
  *** @profile header cover
178
  ***/
179
  add_action('um_profile_header_cover_area', 'um_profile_header_cover_area', 9 );
180
  function um_profile_header_cover_area( $args ) {
181
  global $ultimatemember;
182
+
183
  if ( $args['cover_enabled'] == 1 ) {
184
+
185
  $default_cover = um_get_option('default_cover');
186
+
187
  $overlay = '<span class="um-cover-overlay">
188
  <span class="um-cover-overlay-s">
189
  <ins>
192
  </ins>
193
  </span>
194
  </span>';
195
+
196
  ?>
197
 
198
  <div class="um-cover <?php if ( um_profile('cover_photo') || ( $default_cover && $default_cover['url'] ) ) echo 'has-cover'; ?>" data-user_id="<?php echo um_profile_id(); ?>" data-ratio="<?php echo $args['cover_ratio']; ?>">
199
+
200
  <?php
201
+
202
  if ( $ultimatemember->fields->editing ) {
203
+
204
  $items = array(
205
  '<a href="#" class="um-manual-trigger" data-parent=".um-cover" data-child=".um-btn-auto-width">'.__('Change cover photo','ultimatemember').'</a>',
206
  '<a href="#" class="um-reset-cover-photo" data-user_id="'.um_profile_id().'">'.__('Remove','ultimatemember').'</a>',
207
  '<a href="#" class="um-dropdown-hide">'.__('Cancel','ultimatemember').'</a>',
208
  );
209
+
210
  echo $ultimatemember->menu->new_ui( 'bc', 'div.um-cover', 'click', $items );
211
+
212
  }
213
  ?>
214
+
215
  <?php $ultimatemember->fields->add_hidden_field( 'cover_photo' ); ?>
216
+
217
  <?php echo $overlay; ?>
218
+
219
  <div class="um-cover-e">
220
+
221
  <?php if ( um_profile('cover_photo') ) { ?>
222
+
223
  <?php
224
+
225
  if( $ultimatemember->mobile->isMobile() ){
226
  if ( $ultimatemember->mobile->isTablet() ) {
227
  echo um_user('cover_photo', 1000);
231
  } else {
232
  echo um_user('cover_photo', 1000);
233
  }
234
+
235
  ?>
236
+
237
  <?php } elseif ( $default_cover && $default_cover['url'] ) {
238
 
239
  $default_cover = $default_cover['url'];
240
+
241
  echo '<img src="'. $default_cover . '" alt="" />';
242
+
243
  } else {
244
+
245
  if ( !isset( $ultimatemember->user->cannot_edit ) ) { ?>
246
+
247
  <a href="#" class="um-cover-add um-manual-trigger" data-parent=".um-cover" data-child=".um-btn-auto-width"><span class="um-cover-add-i"><i class="um-icon-plus um-tip-n" title="<?php _e('Upload a cover photo','ultimatemember'); ?>"></i></span></a>
248
+
249
  <?php }
250
+
251
  } ?>
252
+
253
  </div>
254
+
255
  </div>
256
+
257
  <?php
258
 
259
  }
260
+
261
  }
262
+
263
  /***
264
  *** @Show social links as icons below profile name
265
  ***/
281
  add_action('um_profile_header', 'um_profile_header', 9 );
282
  function um_profile_header( $args ) {
283
  global $ultimatemember;
284
+
285
  $classes = null;
286
+
287
  if ( !$args['cover_enabled'] ) {
288
  $classes .= ' no-cover';
289
  }
290
+
291
  $default_size = str_replace( 'px', '', $args['photosize'] );
292
+
293
  $overlay = '<span class="um-profile-photo-overlay">
294
  <span class="um-profile-photo-overlay-s">
295
  <ins>
297
  </ins>
298
  </span>
299
  </span>';
300
+
301
  ?>
302
+
303
  <div class="um-header<?php echo $classes; ?>">
304
+
305
  <?php do_action('um_pre_header_editprofile', $args); ?>
306
+
307
  <div class="um-profile-photo" data-user_id="<?php echo um_profile_id(); ?>">
308
 
309
  <a href="<?php echo um_user_profile_url(); ?>" class="um-profile-photo-img" title="<?php echo um_user('display_name'); ?>"><?php echo $overlay . get_avatar( um_user('ID'), $default_size ); ?></a>
310
+
311
  <?php
312
+
313
+ if ( !isset( $ultimatemember->user->cannot_edit ) ) {
314
+
315
  $ultimatemember->fields->add_hidden_field( 'profile_photo' );
316
+
317
  if ( !um_profile('profile_photo') ) { // has profile photo
318
+
319
  $items = array(
320
  '<a href="#" class="um-manual-trigger" data-parent=".um-profile-photo" data-child=".um-btn-auto-width">'.__('Upload photo','ultimatemember').'</a>',
321
  '<a href="#" class="um-dropdown-hide">'.__('Cancel','ultimatemember').'</a>',
322
  );
323
+
324
  $items = apply_filters('um_user_photo_menu_view', $items );
325
+
326
  echo $ultimatemember->menu->new_ui( 'bc', 'div.um-profile-photo', 'click', $items );
327
+
328
  } else if ( $ultimatemember->fields->editing == true ) {
329
+
330
  $items = array(
331
  '<a href="#" class="um-manual-trigger" data-parent=".um-profile-photo" data-child=".um-btn-auto-width">'.__('Change photo','ultimatemember').'</a>',
332
  '<a href="#" class="um-reset-profile-photo" data-user_id="'.um_profile_id().'" data-default_src="'.um_get_default_avatar_uri().'">'.__('Remove photo','ultimatemember').'</a>',
333
  '<a href="#" class="um-dropdown-hide">'.__('Cancel','ultimatemember').'</a>',
334
  );
335
+
336
  $items = apply_filters('um_user_photo_menu_edit', $items );
337
+
338
  echo $ultimatemember->menu->new_ui( 'bc', 'div.um-profile-photo', 'click', $items );
339
+
340
  }
341
+
342
  }
343
+
344
  ?>
345
+
346
  </div>
347
+
348
  <div class="um-profile-meta">
349
+
350
  <div class="um-main-meta">
351
+
352
  <?php if ( $args['show_name'] ) { ?>
353
  <div class="um-name">
354
+
355
  <a href="<?php echo um_user_profile_url(); ?>" title="<?php echo um_user('display_name'); ?>"><?php echo um_user('display_name', 'html'); ?></a>
356
+
357
  <?php do_action('um_after_profile_name_inline', $args ); ?>
358
+
359
  </div>
360
  <?php } ?>
361
+
362
  <div class="um-clear"></div>
363
+
364
  <?php do_action('um_after_profile_header_name_args', $args ); ?>
365
  <?php do_action('um_after_profile_header_name'); ?>
366
+
367
  </div>
368
+
369
  <?php if ( isset( $args['metafields'] ) && !empty( $args['metafields'] ) ) { ?>
370
  <div class="um-meta">
371
+
372
  <?php echo $ultimatemember->profile->show_meta( $args['metafields'] ); ?>
373
+
374
  </div>
375
  <?php } ?>
376
 
377
  <?php if ( $ultimatemember->fields->viewing == true && um_user('description') && $args['show_bio'] ) { ?>
378
+
379
+ <div class="um-meta-text">
380
+ <?php if( um_get_option( 'profile_show_html_bio' ) ) : ?>
381
+ <?php echo um_clickable_links( strip_tags( um_filtered_value('description'), '<p><a><img><br><strong><b><em><i><quote><sub><sup>') ); ?>
382
+ <?php else : ?>
383
+ <?php echo um_clickable_links( wp_strip_all_tags( um_filtered_value('description') ) ); ?>
384
+ <?php endif; ?>
385
+ </div>
386
+
387
  <?php } else if ( $ultimatemember->fields->editing == true && $args['show_bio'] ) { ?>
388
+
389
  <div class="um-meta-text">
390
  <textarea placeholder="<?php _e('Tell us a bit about yourself...','ultimatemember'); ?>" name="<?php echo 'description-' . $args['form_id']; ?>" id="<?php echo 'description-' . $args['form_id']; ?>"><?php if ( um_user('description') ) { echo um_user('description'); } ?></textarea>
391
+
392
  <?php if ( $ultimatemember->fields->is_error('description') ) {
393
+ echo $ultimatemember->fields->field_error( $ultimatemember->fields->show_error('description'), true ); }
394
  ?>
395
+
396
  </div>
397
+
398
  <?php } ?>
399
+
400
  <div class="um-profile-status <?php echo um_user('account_status'); ?>">
401
  <span><?php printf(__('This user account status is %s','ultimatemember'), um_user('account_status_name') ); ?></span>
402
  </div>
403
+
404
  <?php do_action('um_after_header_meta', um_user('ID'), $args ); ?>
405
+
406
  </div><div class="um-clear"></div>
407
+
408
  <?php do_action('um_after_header_info', um_user('ID'), $args); ?>
409
+
410
  </div>
411
+
412
  <?php
413
  }
414
+
415
  /***
416
  *** @adds profile permissions to view/edit
417
  ***/
419
  function um_pre_profile_shortcode($args){
420
  global $ultimatemember;
421
  extract( $args );
422
+
423
  if ( $mode == 'profile' && $ultimatemember->fields->editing == false ) {
424
  $ultimatemember->fields->viewing = 1;
425
+
426
  if ( um_get_requested_user() ) {
427
  if ( !um_can_view_profile( um_get_requested_user() ) ) um_redirect_home();
428
  if ( !um_current_user_can('edit', um_get_requested_user() ) ) $ultimatemember->user->cannot_edit = 1;
431
  if ( !is_user_logged_in() ) um_redirect_home();
432
  if ( !um_user('can_edit_profile') ) $ultimatemember->user->cannot_edit = 1;
433
  }
434
+
435
  }
436
 
437
  if ( $mode == 'profile' && $ultimatemember->fields->editing == true ) {
438
  $ultimatemember->fields->editing = 1;
439
+
440
  if ( um_get_requested_user() ) {
441
  if ( !um_current_user_can('edit', um_get_requested_user() ) ) um_redirect_home();
442
  um_fetch_user( um_get_requested_user() );
443
  }
444
+
445
  }
446
+
447
  }
448
+
449
  /***
450
  *** @display the edit profile icon
451
  ***/
453
  function um_add_edit_icon( $args ) {
454
  global $ultimatemember;
455
  $output = '';
456
+
457
  if ( !is_user_logged_in() ) return; // not allowed for guests
458
+
459
  if ( isset( $ultimatemember->user->cannot_edit ) && $ultimatemember->user->cannot_edit == 1 ) return; // do not proceed if user cannot edit
460
+
461
  if ( $ultimatemember->fields->editing == true ) {
462
+
463
  ?>
464
+
465
  <div class="um-profile-edit um-profile-headericon">
466
+
467
  <a href="#" class="um-profile-edit-a um-profile-save"><i class="um-faicon-check"></i></a>
468
+
469
  </div>
470
+
471
  <?php } else { ?>
472
+
473
  <div class="um-profile-edit um-profile-headericon">
474
+
475
  <a href="#" class="um-profile-edit-a"><i class="um-faicon-cog"></i></a>
476
+
477
  <?php
478
+
479
  $items = array(
480
  'editprofile' => '<a href="'.um_edit_profile_url().'" class="real_url">'.__('Edit Profile','ultimatemember').'</a>',
481
  'myaccount' => '<a href="'.um_get_core_page('account').'" class="real_url">'.__('My Account','ultimatemember').'</a>',
482
  'logout' => '<a href="'.um_get_core_page('logout').'" class="real_url">'.__('Logout','ultimatemember').'</a>',
483
  'cancel' => '<a href="#" class="um-dropdown-hide">'.__('Cancel','ultimatemember').'</a>',
484
  );
485
+
486
  $cancel = $items['cancel'];
487
+
488
  if ( !um_is_myprofile() ) {
489
+
490
  $actions = $ultimatemember->user->get_admin_actions();
491
+
492
  unset( $items['myaccount'] );
493
  unset( $items['logout'] );
494
  unset( $items['cancel'] );
495
+
496
  if ( is_array( $actions ) ) {
497
  $items = array_merge( $items, $actions );
498
  }
499
+
500
  $items = apply_filters('um_profile_edit_menu_items', $items, um_profile_id() );
501
+
502
  $items['cancel'] = $cancel;
503
 
504
  } else {
505
+
506
  $items = apply_filters('um_myprofile_edit_menu_items', $items );
507
+
508
  }
509
+
510
  echo $ultimatemember->menu->new_ui( $args['header_menu'], 'div.um-profile-edit', 'click', $items );
511
+
512
  ?>
513
+
514
  </div>
515
+
516
  <?php
517
  }
518
+
519
  }
520
+
521
  /***
522
  *** @Show Fields
523
  ***/
524
  add_action('um_main_profile_fields', 'um_add_profile_fields', 100);
525
  function um_add_profile_fields($args){
526
  global $ultimatemember;
527
+
528
  if ( $ultimatemember->fields->editing == true ) {
529
+
530
  echo $ultimatemember->fields->display( 'profile', $args );
531
+
532
  } else {
533
+
534
  $ultimatemember->fields->viewing = true;
535
+
536
  echo $ultimatemember->fields->display_view( 'profile', $args );
537
+
538
  }
539
+
540
  }
541
+
542
  /***
543
  *** @form processing
544
  ***/
545
  add_action('um_submit_form_profile', 'um_submit_form_profile', 10);
546
  function um_submit_form_profile($args){
547
  global $ultimatemember;
548
+
549
  if ( !isset($ultimatemember->form->errors) ) do_action('um_user_edit_profile', $args);
550
 
551
  do_action('um_user_profile_extra_hook', $args );
552
+
553
  }
554
+
555
  /***
556
  *** @Show the submit button (highest priority)
557
  ***/
558
  add_action('um_after_profile_fields', 'um_add_submit_button_to_profile', 1000);
559
  function um_add_submit_button_to_profile($args){
560
  global $ultimatemember;
561
+
562
  // DO NOT add when reviewing user's details
563
  if ( $ultimatemember->user->preview == true && is_admin() ) return;
564
+
565
  // only when editing
566
  if ( $ultimatemember->fields->editing == false ) return;
567
+
568
  ?>
569
+
570
  <div class="um-col-alt">
571
+
572
  <?php if ( isset($args['secondary_btn']) && $args['secondary_btn'] != 0 ) { ?>
573
+
574
  <div class="um-left um-half"><input type="submit" value="<?php echo $args['primary_btn_word']; ?>" class="um-button" /></div>
575
  <div class="um-right um-half"><a href="<?php echo um_edit_my_profile_cancel_uri(); ?>" class="um-button um-alt"><?php echo $args['secondary_btn_word']; ?></a></div>
576
+
577
  <?php } else { ?>
578
+
579
  <div class="um-center"><input type="submit" value="<?php echo $args['primary_btn_word']; ?>" class="um-button" /></div>
580
+
581
  <?php } ?>
582
+
583
  <div class="um-clear"></div>
584
+
585
  </div>
586
+
587
  <?php
588
  }
589
+
590
  /***
591
  *** @display the available profile tabs
592
  ***/
593
  add_action('um_profile_navbar', 'um_profile_navbar', 9 );
594
  function um_profile_navbar( $args ) {
595
  global $ultimatemember;
596
+
597
  if ( !um_get_option('profile_menu') )
598
  return;
599
+
600
  // get active tabs
601
  $tabs = $ultimatemember->profile->tabs_active();
602
 
603
  $tabs = apply_filters('um_user_profile_tabs', $tabs );
604
 
605
  $ultimatemember->user->tabs = $tabs;
606
+
607
  // need enough tabs to continue
608
  if ( count( $tabs ) <= 1 ) return;
609
+
610
  $active_tab = $ultimatemember->profile->active_tab();
611
 
612
  if ( !isset( $tabs[$active_tab] ) ) {
614
  $ultimatemember->profile->active_tab = $active_tab;
615
  $ultimatemember->profile->active_subnav = null;
616
  }
617
+
618
  // Move default tab priority
619
  $default_tab = um_get_option('profile_menu_default_tab');
620
  $dtab = ( isset( $tabs[$default_tab] ) )? $tabs[$default_tab] : 'main';
623
  $dtabs[$default_tab] = $dtab;
624
  $tabs = $dtabs + $tabs;
625
  }
626
+
627
  ?>
628
+
629
  <div class="um-profile-nav">
630
+
631
  <?php foreach( $tabs as $id => $tab ) {
632
+
633
  if ( isset( $tab['hidden'] ) ) continue;
634
+
635
  $nav_link = $ultimatemember->permalinks->get_current_url( get_option('permalink_structure') );
636
  $nav_link = remove_query_arg( 'um_action', $nav_link );
637
  $nav_link = remove_query_arg( 'subnav', $nav_link );
638
  $nav_link = add_query_arg('profiletab', $id, $nav_link );
639
+
640
  $nav_link = apply_filters("um_profile_menu_link_{$id}", $nav_link);
641
+
642
  ?>
643
+
644
  <div class="um-profile-nav-item um-profile-nav-<?php echo $id; ?> <?php if ( !um_get_option('profile_menu_icons') ) { echo 'without-icon'; } ?> <?php if ( $id == $active_tab ) { echo 'active'; } ?>">
645
  <a href="<?php echo $nav_link; ?>" title="<?php echo $tab['name']; ?>">
646
 
647
  <i class="<?php echo $tab['icon']; ?>"></i>
648
+
649
  <?php if ( isset( $tab['notifier'] ) && $tab['notifier'] > 0 ) { ?>
650
  <span class="um-tab-notifier uimob500-show uimob340-show uimob800-show"><?php echo $tab['notifier']; ?></span>
651
  <?php } ?>
652
+
653
  <span class="uimob500-hide uimob340-hide uimob800-hide title"><?php echo $tab['name']; ?></span>
654
+
655
  </a>
656
  </div>
657
+
658
  <?php } ?>
659
+
660
  <div class="um-clear"></div>
661
+
662
  </div>
663
+
664
  <?php foreach( $tabs as $id => $tab ) {
665
+
666
  if ( isset( $tab['subnav'] ) && $active_tab == $id ) {
667
+
668
  $active_subnav = ( $ultimatemember->profile->active_subnav() ) ? $ultimatemember->profile->active_subnav() : $tab['subnav_default'];
669
 
670
  echo '<div class="um-profile-subnav">';
671
  foreach( $tab['subnav'] as $id => $subtab ) {
672
+
673
  ?>
674
+
675
  <a href="<?php echo add_query_arg('subnav', $id ); ?>" class="<?php if ( $active_subnav == $id ) echo 'active'; ?>"><?php echo $subtab; ?></a>
676
+
677
  <?php
678
+
679
  }
680
  echo '</div>';
681
  }
682
+
683
  }
684
+
685
+ }
core/um-actions-save-profile.php CHANGED
@@ -9,18 +9,7 @@
9
 
10
  if ( isset( $changes['first_name'] ) && isset( $changes['last_name'] ) ) {
11
 
12
- if ( $changes['first_name'] && $changes['last_name'] && um_get_option('display_name') != 'public_name' ) {
13
-
14
- wp_update_user( array( 'ID' => $ultimatemember->user->id, 'display_name' => $changes['first_name'] . ' ' . $changes['last_name'] ) );
15
-
16
- $full_name = $changes['first_name'] . '.' . $changes['last_name'];
17
-
18
- } else {
19
-
20
- $full_name = $ultimatemember->user->profile['display_name'];
21
-
22
- }
23
-
24
  $full_name = $ultimatemember->validation->safe_name_in_url( $full_name );
25
 
26
  /* duplicate or not */
@@ -59,8 +48,36 @@
59
 
60
  }
61
 
62
- if( um_get_option('display_name') === 'public_name' ){
63
- update_user_meta( $ultimatemember->user->id, 'display_name', $changes['display_name'] );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
64
  }
65
 
 
 
 
66
  }
9
 
10
  if ( isset( $changes['first_name'] ) && isset( $changes['last_name'] ) ) {
11
 
12
+ $full_name = $ultimatemember->user->profile['display_name'];
 
 
 
 
 
 
 
 
 
 
 
13
  $full_name = $ultimatemember->validation->safe_name_in_url( $full_name );
14
 
15
  /* duplicate or not */
48
 
49
  }
50
 
51
+ // Sync display name changes
52
+ $option = um_get_option('display_name');
53
+ $user_id = $ultimatemember->user->id;
54
+ switch ( $option ) {
55
+ default:
56
+ break;
57
+ case 'full_name':
58
+ $update_name = get_user_meta( $user_id, 'first_name', true ) . ' ' . get_user_meta( $user_id, 'last_name', true );
59
+ break;
60
+ case 'sur_name':
61
+ $fname = get_user_meta( $user_id, 'first_name', true );
62
+ $lname = get_user_meta( $user_id, 'last_name', true );
63
+ $update_name = $lname . ' ' . $fname;
64
+ break;
65
+ case 'initial_name':
66
+ $fname = get_user_meta( $user_id, 'first_name', true );
67
+ $lname = get_user_meta( $user_id, 'last_name', true );
68
+ $update_name = $fname . ' ' . $lname[0];
69
+ break;
70
+ case 'initial_name_f':
71
+ $fname = get_user_meta( $user_id, 'first_name', true );
72
+ $lname = get_user_meta( $user_id, 'last_name', true );
73
+ $update_name = $fname[0] . ' ' . $lname;
74
+ break;
75
+ case 'nickname':
76
+ $update_name = get_user_meta( $user_id, 'nickname', true );
77
+ break;
78
  }
79
 
80
+ if ( isset( $update_name ) ) {
81
+ wp_update_user( array( 'ID' => $user_id, 'display_name' => $update_name ) );
82
+ }
83
  }
core/um-builtin.php CHANGED
@@ -2,6 +2,8 @@
2
 
3
  class UM_Builtin {
4
 
 
 
5
  function __construct() {
6
 
7
  add_action('init', array(&$this, 'set_core_fields'), 1);
@@ -145,6 +147,22 @@ class UM_Builtin {
145
  )
146
  ),
147
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
148
  'textarea' => array(
149
  'name' => 'Textarea',
150
  'col1' => array('_title','_metakey','_help','_height','_max_chars','_max_words','_visibility'),
@@ -522,12 +540,14 @@ class UM_Builtin {
522
 
523
  global $ultimatemember;
524
 
525
- if ( class_exists('UM_Query') ) {
526
- $um_roles = $ultimatemember->query->get_roles( false, array('admin') );
527
  } else {
528
- $um_roles = array();
529
  }
530
 
 
 
531
  $profile_privacy = apply_filters('um_profile_privacy_options', array( __('Everyone','ultimatemember'), __('Only me','ultimatemember') ) );
532
 
533
  $this->predefined_fields = array(
@@ -590,6 +610,16 @@ class UM_Builtin {
590
  'editable' => 1,
591
  ),
592
 
 
 
 
 
 
 
 
 
 
 
593
  'user_registered' => array(
594
  'title' => __('Registration Date','ultimatemember'),
595
  'metakey' => 'user_registered',
@@ -612,16 +642,6 @@ class UM_Builtin {
612
  'edit_forbidden' => 1,
613
  ),
614
 
615
- 'display_name' => array(
616
- 'title' => __('Display Name','ultimatemember'),
617
- 'metakey' => 'display_name',
618
- 'type' => 'text',
619
- 'label' => __('Display Name','ultimatemember'),
620
- 'required' => 0,
621
- 'public' => 1,
622
- 'editable' => 1,
623
- ),
624
-
625
  'user_email' => array(
626
  'title' => __('E-mail Address','ultimatemember'),
627
  'metakey' => 'user_email',
2
 
3
  class UM_Builtin {
4
 
5
+ public $predefined_fields = array();
6
+
7
  function __construct() {
8
 
9
  add_action('init', array(&$this, 'set_core_fields'), 1);
147
  )
148
  ),
149
 
150
+ 'number' => array(
151
+ 'name' => __('Number','ultimatemember'),
152
+ 'col1' => array('_title','_metakey','_help','_default','_min','_visibility'),
153
+ 'col2' => array('_label','_placeholder','_public','_roles','_validate','_custom_validate','_max'),
154
+ 'col3' => array('_required','_editable','_icon'),
155
+ 'validate' => array(
156
+ '_title' => array(
157
+ 'mode' => 'required',
158
+ 'error' => __('You must provide a title','ultimatemember')
159
+ ),
160
+ '_metakey' => array(
161
+ 'mode' => 'unique',
162
+ ),
163
+ )
164
+ ),
165
+
166
  'textarea' => array(
167
  'name' => 'Textarea',
168
  'col1' => array('_title','_metakey','_help','_height','_max_chars','_max_words','_visibility'),
540
 
541
  global $ultimatemember;
542
 
543
+ if ( !isset( $ultimatemember->query ) || ! method_exists( $ultimatemember->query, 'get_roles' ) ) {
544
+ return;
545
  } else {
546
+ //die('Method loaded!');
547
  }
548
 
549
+ $um_roles = $ultimatemember->query->get_roles( false, array('admin') );
550
+
551
  $profile_privacy = apply_filters('um_profile_privacy_options', array( __('Everyone','ultimatemember'), __('Only me','ultimatemember') ) );
552
 
553
  $this->predefined_fields = array(
610
  'editable' => 1,
611
  ),
612
 
613
+ 'nickname' => array(
614
+ 'title' => __('Nickname','ultimatemember'),
615
+ 'metakey' => 'nickname',
616
+ 'type' => 'text',
617
+ 'label' => __('Nickname','ultimatemember'),
618
+ 'required' => 0,
619
+ 'public' => 1,
620
+ 'editable' => 1,
621
+ ),
622
+
623
  'user_registered' => array(
624
  'title' => __('Registration Date','ultimatemember'),
625
  'metakey' => 'user_registered',
642
  'edit_forbidden' => 1,
643
  ),
644
 
 
 
 
 
 
 
 
 
 
 
645
  'user_email' => array(
646
  'title' => __('E-mail Address','ultimatemember'),
647
  'metakey' => 'user_email',
core/um-fields.php CHANGED
@@ -3,18 +3,18 @@
3
  class UM_Fields {
4
 
5
  function __construct() {
6
-
7
  $this->editing = false;
8
  $this->viewing = false;
9
 
10
  }
11
-
12
  /***
13
  *** @standard checkbox field
14
  ***/
15
  function checkbox( $id, $title ) {
16
  ?>
17
-
18
  <div class="um-field um-field-c">
19
  <div class="um-field-area">
20
  <label class="um-field-checkbox active">
@@ -23,10 +23,10 @@ class UM_Fields {
23
  </label>
24
  </div>
25
  </div>
26
-
27
  <?php
28
  }
29
-
30
  /***
31
  *** @show user social links
32
  ***/
@@ -40,41 +40,41 @@ class UM_Fields {
40
  }
41
  foreach( $social as $k => $arr ) {
42
  if ( um_profile( $k ) ) { ?>
43
-
44
  <a href="<?php echo um_filtered_social_link( $k , $arr['match'] ); ?>" style="background: <?php echo $arr['color']; ?>;" target="_blank" class="um-tip-n" title="<?php echo $arr['title']; ?>"><i class="<?php echo $arr['icon']; ?>"></i></a>
45
-
46
  <?php
47
  }
48
  }
49
  }
50
-
51
  /***
52
  *** @hidden fields inside shortcode
53
  ***/
54
  function add_hidden_field( $field ) {
55
  global $ultimatemember;
56
  echo '<div style="display: none !important;">';
57
-
58
  $fields = $ultimatemember->builtin->get_specific_fields( $field );
59
-
60
  $output = null;
61
-
62
  foreach( $fields as $key => $data ) {
63
  $output .= $ultimatemember->fields->edit_field( $key, $data );
64
  }
65
-
66
  echo $output;
67
-
68
  echo '</div>';
69
  }
70
-
71
  /***
72
  *** @update a field globally
73
  ***/
74
  function globally_update_field($id, $args){
75
  global $ultimatemember;
76
  $fields = $ultimatemember->builtin->saved_fields;
77
-
78
  $fields[$id] = $args;
79
 
80
  unset( $fields[ $id ]['in_row'] );
@@ -82,17 +82,17 @@ class UM_Fields {
82
  unset( $fields[ $id ]['in_column'] );
83
  unset( $fields[ $id ]['in_group'] );
84
  unset( $fields[ $id ]['position'] );
85
-
86
  update_option('um_fields', $fields );
87
  }
88
-
89
  /***
90
  *** @update a field in form only
91
  ***/
92
  function update_field($id, $args, $form_id){
93
  global $ultimatemember;
94
  $fields = $ultimatemember->query->get_attr( 'custom_fields', $form_id );
95
-
96
  if ( $args['type'] == 'row' ) {
97
  if ( isset( $fields[$id] ) ){
98
  $old_args = $fields[$id];
@@ -104,22 +104,22 @@ class UM_Fields {
104
  $args = array_merge( $old_args, $args );
105
  }
106
  }
107
-
108
  // custom fields support
109
  if ( isset( $ultimatemember->builtin->predefined_fields[$id] ) && isset( $ultimatemember->builtin->predefined_fields[$id]['custom'] ) ) {
110
  $args = array_merge( $ultimatemember->builtin->predefined_fields[$id], $args);
111
  }
112
-
113
  $fields[$id] = $args;
114
-
115
  // for group field only
116
  if ( $args['type'] == 'group' ){
117
  $fields[$id]['in_group'] = '';
118
  }
119
-
120
  $ultimatemember->query->update_attr( 'custom_fields', $form_id, $fields );
121
  }
122
-
123
  /***
124
  *** @delete a field in form only
125
  ***/
@@ -131,7 +131,7 @@ class UM_Fields {
131
  $ultimatemember->query->update_attr( 'custom_fields', $form_id, $fields );
132
  }
133
  }
134
-
135
  /***
136
  *** @delete the field from custom fields
137
  ***/
@@ -143,7 +143,7 @@ class UM_Fields {
143
  update_option('um_fields', $fields );
144
  }
145
  }
146
-
147
  /***
148
  *** @quickly add field from custom fields
149
  ***/
@@ -151,61 +151,61 @@ class UM_Fields {
151
  global $ultimatemember;
152
  $fields = $ultimatemember->query->get_attr( 'custom_fields', $form_id );
153
  $field_scope = $ultimatemember->builtin->saved_fields;
154
-
155
  if ( !isset( $fields[$global_id] ) ) {
156
-
157
  $count = 1;
158
  if ( isset( $fields ) && !empty( $fields) ) $count = count($fields)+1;
159
-
160
  $fields[$global_id] = $field_scope[$global_id];
161
  $fields[$global_id]['position'] = $count;
162
-
163
  // set position
164
  if ( $position ) {
165
  foreach( $position as $key => $val ) {
166
  $fields[$global_id][$key] = $val;
167
  }
168
  }
169
-
170
  // add field to form
171
  $ultimatemember->query->update_attr( 'custom_fields', $form_id, $fields );
172
-
173
  }
174
  }
175
-
176
  /***
177
  *** @quickly add field from predefined fields
178
  ***/
179
  function add_field_from_predefined( $global_id, $form_id, $position = array() ) {
180
  global $ultimatemember;
181
-
182
  $fields = $ultimatemember->query->get_attr( 'custom_fields', $form_id );
183
  $field_scope = $ultimatemember->builtin->predefined_fields;
184
-
185
  if ( !isset( $fields[$global_id] ) ) {
186
-
187
  $count = 1;
188
  if ( isset( $fields ) && !empty( $fields) ) $count = count($fields)+1;
189
-
190
  $fields[$global_id] = $field_scope[$global_id];
191
  $fields[$global_id]['position'] = $count;
192
-
193
  // set position
194
  if ( $position ) {
195
  foreach( $position as $key => $val ) {
196
  $fields[$global_id][$key] = $val;
197
  }
198
  }
199
-
200
  // add field to form
201
  $ultimatemember->query->update_attr( 'custom_fields', $form_id, $fields );
202
-
203
  // add field to db
204
  //$this->globally_update_field( $global_id, $fields[$global_id] );
205
-
206
  }
207
  }
208
-
209
  /***
210
  *** @Duplicates a field by meta key
211
  *** @requires form id and meta key
@@ -214,34 +214,34 @@ class UM_Fields {
214
  global $ultimatemember;
215
  $fields = $ultimatemember->query->get_attr( 'custom_fields', $form_id );
216
  $all_fields = $ultimatemember->builtin->saved_fields;
217
-
218
  $inc = count( $fields ) + 1;
219
-
220
  $duplicate = $fields[ $id ];
221
-
222
  $new_metakey = $id . "_" . $inc;
223
  $new_title = $fields[ $id ]['title'] . " #" . $inc;
224
  $new_position = $inc;
225
-
226
  $duplicate['title'] = $new_title;
227
  $duplicate['metakey'] = $new_metakey;
228
  $duplicate['position'] = $new_position;
229
 
230
  $fields[ $new_metakey ] = $duplicate;
231
  $all_fields[ $new_metakey ] = $duplicate;
232
-
233
  // not global attributes
234
  unset( $all_fields[ $new_metakey ]['in_row'] );
235
  unset( $all_fields[ $new_metakey ]['in_sub_row'] );
236
  unset( $all_fields[ $new_metakey ]['in_column'] );
237
  unset( $all_fields[ $new_metakey ]['in_group'] );
238
  unset( $all_fields[ $new_metakey ]['position'] );
239
-
240
  $ultimatemember->query->update_attr( 'custom_fields', $form_id, $fields );
241
  update_option('um_fields', $all_fields );
242
-
243
  }
244
-
245
  /***
246
  *** @Print field error
247
  ***/
@@ -256,13 +256,13 @@ class UM_Fields {
256
  } else {
257
  $output = '';
258
  }
259
-
260
  if ( !$ultimatemember->form->processing ) {
261
  $output = '<div class="um-field-error"><span class="um-field-arrow"><i class="um-faicon-caret-up"></i></span>'.$text.'</div>';
262
  }
263
  return $output;
264
  }
265
-
266
  /***
267
  *** @Check if field has a server side error
268
  ***/
@@ -270,7 +270,7 @@ class UM_Fields {
270
  global $ultimatemember;
271
  return $ultimatemember->form->has_error($key);
272
  }
273
-
274
  /***
275
  *** @Return field error
276
  ***/
@@ -278,7 +278,7 @@ class UM_Fields {
278
  global $ultimatemember;
279
  return $ultimatemember->form->errors[$key];
280
  }
281
-
282
  /***
283
  *** @Display field label
284
  ***/
@@ -286,36 +286,36 @@ class UM_Fields {
286
  global $ultimatemember;
287
  $output = null;
288
  $output .= '<div class="um-field-label">';
289
-
290
  if ( isset($data['icon']) && $data['icon'] != '' && isset( $this->field_icons ) && $this->field_icons != 'off' && ( $this->field_icons == 'label' || $this->viewing == true ) ) {
291
  $output .= '<div class="um-field-label-icon"><i class="'.$data['icon'].'"></i></div>';
292
  }
293
-
294
  if ( $this->viewing == true ) {
295
  $label = apply_filters("um_view_label_{$key}", $label );
296
  } else {
297
  $label = apply_filters("um_edit_label_{$key}", $label );
298
  $label = apply_filters("um_edit_label_all_fields", $label, $data );
299
  }
300
-
301
  $output .= '<label for="'.$key.$ultimatemember->form->form_suffix.'">'.$label.'</label>';
302
-
303
  if ( isset( $data['help'] ) && !empty( $data['help'] ) && $this->viewing == false && !strstr($key, 'confirm_user_pass') ) {
304
-
305
  if ( !$ultimatemember->mobile->isMobile() ) {
306
  if ( !isset( $this->disable_tooltips ) ) {
307
  $output .= '<span class="um-tip um-tip-w" title="'.$data['help'].'"><i class="um-icon-help-circled"></i></span>';
308
  }
309
  }
310
-
311
  if ( $ultimatemember->mobile->isMobile() || isset( $this->disable_tooltips ) ) {
312
  $output .= '<span class="um-tip-text">'. $data['help'] . '</span>';
313
  }
314
-
315
  }
316
-
317
  $output .= '<div class="um-clear"></div></div>';
318
-
319
  return $output;
320
  }
321
 
@@ -324,27 +324,27 @@ class UM_Fields {
324
  ***/
325
  function get_class($key, $data, $add = null) {
326
  $classes = null;
327
-
328
  $classes .= 'um-form-field ';
329
-
330
  if ( $this->is_error($key) ) {
331
  $classes .= 'um-error ';
332
  } else {
333
  $classes .= 'valid ';
334
  }
335
-
336
  if ( !isset($data['required']) ) {
337
  $classes .= 'not-required ';
338
  }
339
-
340
  if ( $data['type'] == 'date' ) {
341
  $classes .= 'um-datepicker ';
342
  }
343
-
344
  if ( $data['type'] == 'time' ) {
345
  $classes .= 'um-timepicker ';
346
  }
347
-
348
  if ( isset($data['icon']) && $data['icon'] && isset( $this->field_icons ) && $this->field_icons == 'field' ) {
349
  $classes .= 'um-iconed';
350
  }
@@ -352,21 +352,21 @@ class UM_Fields {
352
  if ($add) {
353
  $classes .= $add . ' ';
354
  }
355
-
356
  return $classes;
357
  }
358
-
359
  /***
360
  *** @Get field value
361
  ***/
362
  function field_value( $key, $default = false, $data = null ) {
363
  global $ultimatemember;
364
-
365
  if ( isset($_SESSION) && isset($_SESSION['um_social_profile'][$key]) && isset( $this->set_mode ) && $this->set_mode == 'register' )
366
  return $_SESSION['um_social_profile'][$key];
367
-
368
  $type = (isset($data['type']))?$data['type']:'';
369
-
370
  // preview in backend
371
  if ( isset( $ultimatemember->user->preview ) && $ultimatemember->user->preview ) {
372
  $submitted = um_user('submitted');
@@ -376,81 +376,87 @@ class UM_Fields {
376
  return 'Undefined';
377
  }
378
  }
379
-
380
  // normal state
381
  if ( isset($ultimatemember->form->post_form[$key]) ) {
382
-
383
  if ( strstr( $key, 'user_pass' ) && $this->set_mode != 'password' ) return '';
384
-
385
  return $ultimatemember->form->post_form[$key];
386
-
387
  } else if ( um_user( $key ) && $this->editing == true ) {
388
-
389
  if ( strstr( $key, 'user_pass' ) ) return '';
390
-
391
- return um_user( $key );
392
-
393
  } else if ( ( um_user( $key ) || isset($data['show_anyway']) ) && $this->viewing == true ) {
394
-
395
  $value = um_filtered_value( $key, $data );
396
  return $value;
397
-
398
- } else if ($default) {
 
399
  return $default;
 
 
 
 
 
400
  }
401
 
402
  return '';
403
  }
404
-
405
  /***
406
  *** @Check if option is selected
407
  ***/
408
  function is_selected($key, $value, $data){
409
  global $ultimatemember;
410
-
411
  if ( isset( $ultimatemember->form->post_form[$key] ) && is_array( $ultimatemember->form->post_form[$key] ) ) {
412
-
413
  if ( in_array( $value, $ultimatemember->form->post_form[$key] ) ){
414
  return true;
415
  }
416
-
417
  } else {
418
-
419
  if ( !isset( $ultimatemember->form->post_form ) ) {
420
-
421
  if ( um_user( $key ) && $this->editing == true && is_array( um_user( $key ) ) && in_array($value, um_user( $key ) ) ) {
422
  return true;
423
  }
424
-
425
  if ( um_user( $key ) && $this->editing == true && !is_array( um_user( $key ) ) && um_user( $key ) == $value ) {
426
  return true;
427
  }
428
-
429
  if ( strstr( $data['default'], ', ') ) {
430
  $data['default'] = explode(', ', $data['default']);
431
  }
432
-
433
  if ( isset($data['default']) && !is_array($data['default']) && $data['default'] == $value ) {
434
  return true;
435
  }
436
-
437
  if ( isset($data['default']) && is_array($data['default']) && in_array($value, $data['default'] ) ){
438
  return true;
439
  }
440
-
441
  } else {
442
-
443
  if ( isset( $ultimatemember->form->post_form[$key] ) && $value == $ultimatemember->form->post_form[$key] ) {
444
  return true;
445
  }
446
-
447
  }
448
-
449
  }
450
-
451
  return false;
452
  }
453
-
454
  /***
455
  *** @Check if radio button is checked
456
  ***/
@@ -458,43 +464,43 @@ class UM_Fields {
458
  global $ultimatemember;
459
 
460
  if ( isset( $ultimatemember->form->post_form[$key] ) && is_array( $ultimatemember->form->post_form[$key] ) ) {
461
-
462
  if ( in_array( $value, $ultimatemember->form->post_form[$key] ) ){
463
  return true;
464
  }
465
-
466
  } else {
467
-
468
  if ( !isset( $ultimatemember->form->post_form ) ) {
469
-
470
  if ( um_user( $key ) && $this->editing == true ) {
471
-
472
  if ( strstr($key, 'role_') ) {
473
  $key = 'role';
474
  }
475
-
476
  if ( um_user( $key ) == $value ) {
477
  return true;
478
  }
479
-
480
  } else {
481
-
482
  if ( isset($data['default']) && $data['default'] == $value ) {
483
  return true;
484
  }
485
-
486
  }
487
-
488
  } else {
489
-
490
  if ( isset( $ultimatemember->form->post_form[$key] ) && $value == $ultimatemember->form->post_form[$key] ) {
491
  return true;
492
  }
493
-
494
  }
495
-
496
  }
497
-
498
  return false;
499
  }
500
 
@@ -508,7 +514,7 @@ class UM_Fields {
508
  return $fields[$key]['icon'];
509
  return '';
510
  }
511
-
512
  /***
513
  *** @Get Field Type
514
  ***/
@@ -519,7 +525,7 @@ class UM_Fields {
519
  return $fields[$key]['type'];
520
  return '';
521
  }
522
-
523
  /***
524
  *** @Get Field Label
525
  ***/
@@ -532,7 +538,7 @@ class UM_Fields {
532
  return $fields[$key]['title'];
533
  return '';
534
  }
535
-
536
  /***
537
  *** @Get Field Title
538
  ***/
@@ -545,7 +551,7 @@ class UM_Fields {
545
  return $fields[$key]['label'];
546
  return __('Custom Field','ultimatemember');
547
  }
548
-
549
  /***
550
  *** @Get form fields
551
  ***/
@@ -554,13 +560,13 @@ class UM_Fields {
554
  $this->fields = apply_filters("um_get_form_fields", $this->fields );
555
  return $this->fields;
556
  }
557
-
558
  /***
559
  *** @Get Field
560
  ***/
561
  function get_field( $key ) {
562
  global $ultimatemember;
563
-
564
  $fields = $this->get_fields();
565
 
566
  if ( isset( $fields ) && is_array( $fields ) && isset( $fields[$key] ) ) {
@@ -571,30 +577,30 @@ class UM_Fields {
571
  }
572
  $array = (isset( $ultimatemember->builtin->predefined_fields[$key] ) ) ? $ultimatemember->builtin->predefined_fields[$key] : $ultimatemember->builtin->all_user_fields[$key];
573
  }
574
-
575
  $array['classes'] = null;
576
 
577
  if (!isset($array['placeholder'])) $array['placeholder'] = null;
578
  if (!isset($array['required'])) $array['required'] = null;
579
  if (!isset($array['validate'])) $array['validate'] = null;
580
  if (!isset($array['default'])) $array['default'] = null;
581
-
582
  if ( isset( $array['conditions'] ) && is_array( $array['conditions'] ) && !$this->viewing ) {
583
  $array['conditional'] = '';
584
 
585
  foreach( $array['conditions'] as $cond_id => $cond ) {
586
  $array['conditional'] .= ' data-cond-'.$cond_id.'-action="'. $cond[0] . '" data-cond-'.$cond_id.'-field="'. $cond[1] . '" data-cond-'.$cond_id.'-operator="'. $cond[2] . '" data-cond-'.$cond_id.'-value="'. $cond[3] . '"';
587
  }
588
-
589
  $array['classes'] .= ' um-is-conditional';
590
-
591
  } else {
592
  $array['conditional'] = null;
593
  }
594
-
595
  $array['classes'] .= ' um-field-' . $key;
596
  $array['classes'] .= ' um-field-' . $array['type'];
597
-
598
  switch( $array['type'] ) {
599
 
600
  case 'googlemap':
@@ -604,37 +610,43 @@ class UM_Fields {
604
  $array['disabled'] = '';
605
  $array['input'] = 'text';
606
  break;
607
-
608
  case 'text':
609
-
610
  $array['disabled'] = '';
611
-
612
  if ( $key == 'user_login' && $this->set_mode == 'account' ) {
613
  $array['disabled'] = 'disabled="disabled"';
614
  }
615
-
616
  $array['input'] = 'text';
617
 
618
  break;
619
-
620
  case 'password':
621
-
622
  $array['input'] = 'password';
623
 
624
  break;
625
-
 
 
 
 
 
 
626
  case 'url':
627
-
628
  $array['input'] = 'text';
629
 
630
  break;
631
-
632
  case 'date':
633
-
634
  $array['input'] = 'text';
635
-
636
  if ( !isset( $array['format'] ) ) $array['format'] = 'j M Y';
637
-
638
  switch( $array['format'] ) {
639
  case 'j M Y':
640
  $js_format = 'd mmm yyyy';
@@ -649,68 +661,68 @@ class UM_Fields {
649
  $js_format = 'mmmm d yyyy';
650
  break;
651
  }
652
-
653
  $array['js_format'] = $js_format;
654
-
655
  if ( !isset( $array['range'] ) ) $array['range'] = 'years';
656
  if ( !isset( $array['years'] ) ) $array['years'] = 100;
657
  if ( !isset( $array['years_x'] ) ) $array['years_x'] = 'past';
658
  if ( !isset( $array['disabled_weekdays'] ) ) $array['disabled_weekdays'] = '';
659
-
660
  if ( !empty( $array['disabled_weekdays'] ) ) {
661
  $array['disabled_weekdays'] = '[' . implode(',',$array['disabled_weekdays']) . ']';
662
  }
663
-
664
  // When date range is strictly defined
665
  if ( $array['range'] == 'date_range' ) {
666
-
667
  $array['date_min'] = str_replace('/',',',$array['range_start']);
668
  $array['date_max'] = str_replace('/',',',$array['range_end']);
669
-
670
  } else {
671
-
672
  if ( $array['years_x'] == 'past' ) {
673
 
674
  $date = new DateTime( date('Y-n-d') );
675
  $past = $date->modify('-'.$array['years'].' years');
676
  $past = $date->format('Y,n,d');
677
-
678
  $array['date_min'] = $past;
679
  $array['date_max'] = date('Y,n,d');
680
-
681
  } else if ( $array['years_x'] == 'future' ) {
682
-
683
  $date = new DateTime( date('Y-n-d') );
684
  $future = $date->modify('+'.$array['years'].' years');
685
  $future = $date->format('Y,n,d');
686
-
687
- $array['date_min'] = date('Y,n,d');
688
  $array['date_max'] = $future;
689
-
690
  } else {
691
-
692
  $date = new DateTime( date('Y-n-d') );
693
  $date_f = new DateTime( date('Y-n-d') );
694
  $past = $date->modify('-'. ( $array['years'] / 2 ).' years');
695
  $past = $date->format('Y,n,d');
696
  $future = $date_f->modify('+'. ( $array['years'] / 2 ).' years');
697
  $future = $date_f->format('Y,n,d');
698
-
699
- $array['date_min'] = $past;
700
  $array['date_max'] = $future;
701
 
702
  }
703
 
704
  }
705
-
706
  break;
707
-
708
  case 'time':
709
-
710
  $array['input'] = 'text';
711
-
712
  if ( !isset( $array['format'] ) ) $array['format'] = 'g:i a';
713
-
714
  switch( $array['format'] ) {
715
  case 'g:i a':
716
  $js_format = 'h:i a';
@@ -722,63 +734,63 @@ class UM_Fields {
722
  $js_format = 'HH:i';
723
  break;
724
  }
725
-
726
  $array['js_format'] = $js_format;
727
-
728
  if ( !isset( $array['intervals'] ) ) $array['intervals'] = 60;
729
 
730
  break;
731
-
732
  case 'textarea':
733
-
734
  if (!isset($array['height'])) $array['height'] = '100px';
735
-
736
  break;
737
 
738
  case 'rating':
739
-
740
  if (!isset($array['number'])) $array['number'] = 5;
741
-
742
  break;
743
 
744
  case 'spacing':
745
-
746
  if ( !isset($array['spacing'])){
747
  $array['spacing'] = '20px';
748
  }
749
-
750
  break;
751
-
752
  case 'divider':
753
-
754
  if (isset($array['width'])){
755
  $array['borderwidth'] = $array['width'];
756
  } else {
757
  $array['borderwidth'] = 4;
758
  }
759
-
760
  if (isset($array['color'])){
761
  $array['bordercolor'] = $array['color'];
762
  } else {
763
  $array['bordercolor'] = '#eee';
764
  }
765
-
766
  if (isset($array['style'])){
767
  $array['borderstyle'] = $array['style'];
768
  } else {
769
  $array['borderstyle'] = 'solid';
770
  }
771
-
772
  if ( !isset( $array['divider_text'] ) ) {
773
  $array['divider_text'] = '';
774
  }
775
-
776
  break;
777
 
778
  case 'image':
779
-
780
  if ( !isset( $array['crop'] ) ) $array['crop'] = 0;
781
-
782
  if ( $array['crop'] == 0 ) {
783
  $array['crop_data'] = 0;
784
  } else if ( $array['crop'] == 1 ) {
@@ -788,26 +800,26 @@ class UM_Fields {
788
  } else {
789
  $array['crop_data'] = 'user';
790
  }
791
-
792
  if ( !isset( $array['modal_size'] ) ) $array['modal_size'] = 'normal';
793
-
794
  if ( $array['crop'] > 0 ) {
795
  $array['crop_class'] = 'crop';
796
  } else {
797
  $array['crop_class'] = '';
798
  }
799
-
800
  if ( !isset( $array['ratio'] ) ) $array['ratio'] = 1.0;
801
-
802
  if ( !isset( $array['min_width'] ) ) $array['min_width'] = '';
803
  if ( !isset( $array['min_height'] ) ) $array['min_height'] = '';
804
-
805
  if ( $array['min_width'] == '' && $array['crop'] == 1 ) $array['min_width'] = 600;
806
  if ( $array['min_height'] == '' && $array['crop'] == 1 ) $array['min_height'] = 600;
807
-
808
  if ( $array['min_width'] == '' && $array['crop'] == 3 ) $array['min_width'] = 600;
809
  if ( $array['min_height'] == '' && $array['crop'] == 3 ) $array['min_height'] = 600;
810
-
811
  if (!isset($array['invalid_image'])) $array['invalid_image'] = __("Please upload a valid image!",'ultimatemember');
812
  if (!isset($array['allowed_types'])) {
813
  $array['allowed_types'] = "gif,jpg,jpeg,png";
@@ -827,9 +839,9 @@ class UM_Fields {
827
  break;
828
 
829
  case 'file':
830
-
831
  if ( !isset( $array['modal_size'] ) ) $array['modal_size'] = 'normal';
832
-
833
  if (!isset($array['allowed_types'])) {
834
  $array['allowed_types'] = "pdf,txt";
835
  } else {
@@ -848,57 +860,57 @@ class UM_Fields {
848
  break;
849
 
850
  case 'select':
851
-
852
  break;
853
-
854
  case 'multiselect':
855
-
856
  break;
857
-
858
  case 'group':
859
-
860
  if ( !isset( $array['max_entries'] ) ) $array['max_entries'] = 0;
861
-
862
  break;
863
-
864
  }
865
-
866
  if ( !isset( $array['visibility'] ) ) $array['visibility'] = 'all';
867
-
868
  return $array;
869
  }
870
-
871
  /***
872
  *** @a field in input mode
873
  ***/
874
  function edit_field( $key, $data, $rule=false ) {
875
  global $ultimatemember;
876
-
877
  $output = null;
878
-
879
  // get whole field data
880
  if ( isset( $data ) && is_array( $data ) ) {
881
  $data = $this->get_field($key);
882
  extract($data);
883
  }
884
-
885
  if ( !isset( $data['type'] ) ) return;
886
-
887
  if ( isset( $data['in_group'] ) && $data['in_group'] != '' && $rule != 'group' ) return;
888
-
889
  if ( $visibility == 'view' ) return;
890
-
891
  if ( !um_can_view_field( $data ) ) return;
892
  if ( !um_can_edit_field( $data ) ) return;
893
-
894
  // fields that need to be disabled in edit mode (profile)
895
  if ( in_array( $key, array('user_email','username','user_login','user_password') ) && $this->editing == true && $this->set_mode == 'profile' ) {
896
  return;
897
  }
898
-
899
  // forbidden in edit mode?
900
  if ( isset( $data['edit_forbidden'] ) ) return;
901
-
902
  // required option
903
  if ( isset( $data['required_opt'] ) ) {
904
  $opt = $data['required_opt'];
@@ -906,14 +918,14 @@ class UM_Fields {
906
  return;
907
  }
908
  }
909
-
910
  // required user permission
911
  if ( isset( $data['required_perm'] ) ) {
912
  if ( !um_user( $data['required_perm'] ) ) {
913
  return;
914
  }
915
  }
916
-
917
  // do not show passwords
918
  if ( isset( $ultimatemember->user->preview ) && $ultimatemember->user->preview ) {
919
  if ( $data['type'] == 'password' ){
@@ -925,13 +937,13 @@ class UM_Fields {
925
 
926
  /* Begin by field type */
927
  switch( $type ) {
928
-
929
  /* Default: Integration */
930
  default:
931
  $mode = (isset($this->set_mode))?$this->set_mode:'no_mode';
932
  $output .= apply_filters("um_edit_field_{$mode}_{$type}", $output, $data);
933
  break;
934
-
935
  /* Other fields */
936
  case 'googlemap':
937
  case 'youtube_video':
@@ -939,27 +951,27 @@ class UM_Fields {
939
  case 'soundcloud_track':
940
 
941
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
942
-
943
  if ( isset( $data['label'] ) ) {
944
  $output .= $this->field_label($label, $key, $data);
945
  }
946
 
947
  $output .= '<div class="um-field-area">';
948
-
949
  if ( isset($icon) && $icon && isset( $this->field_icons ) && $this->field_icons == 'field' ) {
950
-
951
  $output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
952
-
953
  }
954
-
955
  $output .= '<input '.$disabled.' class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. htmlspecialchars( $this->field_value( $key, $default, $data ) ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" />
956
-
957
  </div>';
958
-
959
  if ( $this->is_error($key) ) {
960
  $output .= $this->field_error( $this->show_error($key) );
961
  }
962
-
963
  $output .= '</div>';
964
  break;
965
 
@@ -967,39 +979,67 @@ class UM_Fields {
967
  case 'text':
968
 
969
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
970
-
971
  if ( isset( $data['label'] ) ) {
972
  $output .= $this->field_label($label, $key, $data);
973
  }
974
 
975
  $output .= '<div class="um-field-area">';
976
-
977
  if ( isset($icon) && $icon && isset( $this->field_icons ) && $this->field_icons == 'field' ) {
978
-
979
  $output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
980
-
981
  }
982
-
983
  $output .= '<input '.$disabled.' class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. htmlspecialchars( $this->field_value( $key, $default, $data ) ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" />
984
-
985
  </div>';
986
-
987
  if ( $this->is_error($key) ) {
988
  $output .= $this->field_error( $this->show_error($key) );
989
  }
990
-
991
  $output .= '</div>';
992
  break;
993
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
994
  /* Password */
995
  case 'password':
996
-
997
  $original_key = $key;
998
-
999
  if ( $key == 'single_user_password' ) {
1000
-
1001
  $key = $original_key;
1002
-
1003
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
1004
 
1005
  if ( isset( $data['label'] ) ) {
@@ -1007,252 +1047,277 @@ class UM_Fields {
1007
  }
1008
 
1009
  $output .= '<div class="um-field-area">';
1010
-
1011
  if ( isset($icon) && $icon && $this->field_icons == 'field' ) {
1012
-
1013
  $output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
1014
-
1015
  }
1016
-
1017
  $output .= '<input class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. $this->field_value( $key, $default, $data ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" />
1018
-
1019
  </div>';
1020
-
1021
  if ( $this->is_error($key) ) {
1022
  $output .= $this->field_error( $this->show_error($key) );
1023
  }
1024
-
1025
  $output .= '</div>';
1026
-
1027
  } else {
1028
-
1029
  if ( $this->set_mode == 'account' && um_is_core_page('account') ) {
1030
 
1031
  $key = 'current_' . $original_key;
1032
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
1033
-
1034
  if ( isset( $data['label'] ) ) {
1035
  $output .= $this->field_label( __('Current Password','ultimatemember'), $key, $data);
1036
  }
1037
-
1038
  $output .= '<div class="um-field-area">';
1039
-
1040
  if ( isset($icon) && $icon && $this->field_icons == 'field' ) {
1041
-
1042
  $output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
1043
-
1044
  }
1045
-
1046
  $output .= '<input class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="' . $this->field_value( $key, $default, $data ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" />
1047
-
1048
  </div>';
1049
-
1050
  if ( $this->is_error($key) ) {
1051
  $output .= $this->field_error( $this->show_error($key) );
1052
  }
1053
-
1054
  $output .= '</div>';
1055
-
1056
  }
1057
 
1058
  $key = $original_key;
1059
-
1060
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
1061
 
1062
  if ( $this->set_mode == 'account' && um_is_core_page('account') || $this->set_mode == 'password' && um_is_core_page('password-reset') ) {
1063
-
1064
  $output .= $this->field_label( __('New Password','ultimatemember'), $key, $data);
1065
-
1066
  } else if ( isset( $data['label'] ) ) {
1067
-
1068
  $output .= $this->field_label($label, $key, $data);
1069
-
1070
  }
1071
 
1072
  $output .= '<div class="um-field-area">';
1073
-
1074
  if ( isset($icon) && $icon && $this->field_icons == 'field' ) {
1075
-
1076
  $output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
1077
-
1078
  }
1079
-
1080
  $output .= '<input class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. $this->field_value( $key, $default, $data ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" />
1081
-
1082
  </div>';
1083
-
1084
  if ( $this->is_error($key) ) {
1085
  $output .= $this->field_error( $this->show_error($key) );
1086
  }
1087
-
1088
  $output .= '</div>';
1089
-
1090
  if ( $this->set_mode != 'login' && isset( $data['force_confirm_pass'] ) && $data['force_confirm_pass'] == 1 ) {
1091
 
1092
  $key = 'confirm_' . $original_key;
1093
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
1094
-
1095
  if ( isset( $data['label'] ) ) {
1096
  $output .= $this->field_label( sprintf(__('Confirm %s','ultimatemember'), $data['label'] ), $key, $data);
1097
  }
1098
-
1099
  $output .= '<div class="um-field-area">';
1100
-
1101
  if ( isset($icon) && $icon && $this->field_icons == 'field' ) {
1102
-
1103
  $output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
1104
-
1105
  }
1106
-
1107
  $output .= '<input class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="' . $this->field_value( $key, $default, $data ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" />
1108
-
1109
  </div>';
1110
-
1111
  if ( $this->is_error($key) ) {
1112
  $output .= $this->field_error( $this->show_error($key) );
1113
  }
1114
-
1115
  $output .= '</div>';
1116
-
1117
  }
1118
-
1119
  }
1120
-
1121
  break;
1122
-
1123
  /* URL */
1124
  case 'url':
1125
-
1126
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
1127
-
1128
  if ( isset( $data['label'] ) ) {
1129
  $output .= $this->field_label($label, $key, $data);
1130
  }
1131
 
1132
  $output .= '<div class="um-field-area">';
1133
-
1134
  if ( isset($icon) && $icon && isset($this->field_icons) && $this->field_icons == 'field' ) {
1135
-
1136
  $output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
1137
-
1138
  }
1139
-
1140
  $output .= '<input class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. $this->field_value( $key, $default, $data ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" />
1141
-
1142
  </div>';
1143
-
1144
  if ( $this->is_error($key) ) {
1145
  $output .= $this->field_error( $this->show_error($key) );
1146
  }
1147
-
1148
  $output .= '</div>';
1149
  break;
1150
-
1151
  /* Date */
1152
  case 'date':
1153
-
1154
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
1155
-
1156
  if ( isset( $data['label'] ) ) {
1157
  $output .= $this->field_label($label, $key, $data);
1158
  }
1159
 
1160
  $output .= '<div class="um-field-area">';
1161
-
1162
  if ( isset($icon) && $icon && isset( $this->field_icons ) && $this->field_icons == 'field' ) {
1163
-
1164
  $output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
1165
-
1166
  }
1167
-
1168
  $output .= '<input class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. $this->field_value( $key, $default, $data ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" data-range="'.$range.'" data-years="'.$years.'" data-years_x="'.$years_x.'" data-disabled_weekdays="'.$disabled_weekdays.'" data-date_min="'.$date_min.'" data-date_max="'.$date_max.'" data-format="'.$js_format.'" data-value="'. $this->field_value( $key, $default, $data ) .'" />
1169
-
1170
  </div>';
1171
-
1172
  if ( $this->is_error($key) ) {
1173
  $output .= $this->field_error( $this->show_error($key) );
1174
  }
1175
-
1176
  $output .= '</div>';
1177
  break;
1178
-
1179
  /* Time */
1180
  case 'time':
1181
-
1182
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
1183
-
1184
  if ( isset( $data['label'] ) ) {
1185
  $output .= $this->field_label($label, $key, $data);
1186
  }
1187
 
1188
  $output .= '<div class="um-field-area">';
1189
-
1190
  if ( isset($icon) && $icon && $this->field_icons == 'field' ) {
1191
-
1192
  $output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
1193
-
1194
  }
1195
-
1196
  $output .= '<input class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. $this->field_value( $key, $default, $data ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" data-format="'.$js_format.'" data-intervals="'.$intervals.'" data-value="'. $this->field_value( $key, $default, $data ) .'" />
1197
-
1198
  </div>';
1199
-
1200
  if ( $this->is_error($key) ) {
1201
  $output .= $this->field_error( $this->show_error($key) );
1202
  }
1203
-
1204
  $output .= '</div>';
1205
  break;
1206
-
1207
  /* Row */
1208
  case 'row':
1209
  $output .= '';
1210
  break;
1211
-
1212
  /* Textarea */
1213
  case 'textarea':
1214
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
1215
-
1216
  if ( isset( $data['label'] ) ) {
1217
  $output .= $this->field_label($label, $key, $data);
1218
  }
1219
-
1220
  $output .= '<div class="um-field-area">';
1221
 
1222
- $output .= '<textarea style="height: '.$height.';" class="'.$this->get_class($key, $data).'" name="'.$key.'" id="'.$key.'" placeholder="'.$placeholder.'">'.$this->field_value( $key, $default, $data ).'</textarea>
1223
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1224
  </div>';
1225
-
1226
  if ( $this->is_error($key) ) {
1227
  $output .= $this->field_error( $this->show_error($key) );
1228
  }
1229
-
1230
  $output .= '</div>';
1231
  break;
1232
-
1233
  /* Rating */
1234
  case 'rating':
1235
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
1236
-
1237
  if ( isset( $data['label'] ) ) {
1238
  $output .= $this->field_label($label, $key, $data);
1239
  }
1240
-
1241
  $output .= '<div class="um-field-area">';
1242
-
1243
  $output .= '<div class="um-rating um-raty" id="'.$key.'" data-key="'.$key.'" data-number="'.$data['number'].'" data-score="' . $this->field_value( $key, $default, $data ) . '"></div>';
1244
-
1245
  $output .= '</div>';
1246
-
1247
  $output .= '</div>';
1248
-
1249
  break;
1250
-
1251
  /* Gap/Space */
1252
  case 'spacing':
1253
  $output .= '<div class="um-field um-field-spacing' . $classes . '"' . $conditional . ' style="height: '.$spacing.'"></div>';
1254
  break;
1255
-
1256
  /* A line divider */
1257
  case 'divider':
1258
  $output .= '<div class="um-field um-field-divider' . $classes . '"' . $conditional . ' style="border-bottom: '.$borderwidth.'px '.$borderstyle.' '.$bordercolor.'">';
@@ -1261,29 +1326,29 @@ class UM_Fields {
1261
  }
1262
  $output .= '</div>';
1263
  break;
1264
-
1265
  /* Single Image Upload */
1266
  case 'image':
1267
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
1268
-
1269
  if ( in_array( $key, array('profile_photo','cover_photo') ) ) {
1270
  $field_value = '';
1271
  } else {
1272
  $field_value = $this->field_value( $key, $default, $data );
1273
  }
1274
-
1275
  $output .= '<input type="hidden" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. $field_value . '" />';
1276
-
1277
  if ( isset( $data['label'] ) ) {
1278
  $output .= $this->field_label($label, $key, $data);
1279
  }
1280
-
1281
  $modal_label = ( isset( $data['label'] ) ) ? $data['label'] : __('Upload Photo','ultimatemember');
1282
 
1283
  $output .= '<div class="um-field-area" style="text-align: center">';
1284
-
1285
  if ( $this->field_value( $key, $default, $data ) ) {
1286
-
1287
  if ( !in_array( $key, array('profile_photo','cover_photo') ) ) {
1288
  if ( isset( $this->set_mode ) && $this->set_mode == 'register' ) {
1289
  $imgValue = $this->field_value( $key, $default, $data );
@@ -1294,29 +1359,29 @@ class UM_Fields {
1294
  } else {
1295
  $img = '';
1296
  }
1297
-
1298
  $output .= '<div class="um-single-image-preview show '. $crop_class .'" data-crop="'.$crop_data.'" data-key="'.$key.'">
1299
  <a href="#" class="cancel"><i class="um-icon-close"></i></a>' . $img . '
1300
  </div><a href="#" data-modal="um_upload_single" data-modal-size="'.$modal_size.'" data-modal-copy="1" class="um-button um-btn-auto-width">'. __('Change photo','ultimatemember') . '</a>';
1301
-
1302
  } else {
1303
-
1304
  $output .= '<div class="um-single-image-preview '. $crop_class .'" data-crop="'.$crop_data.'" data-key="'.$key.'">
1305
  <a href="#" class="cancel"><i class="um-icon-close"></i></a>
1306
  <img src="" alt="" />
1307
  </div><a href="#" data-modal="um_upload_single" data-modal-size="'.$modal_size.'" data-modal-copy="1" class="um-button um-btn-auto-width">'. $button_text . '</a>';
1308
-
1309
  }
1310
-
1311
  $output .= '</div>';
1312
 
1313
  /* modal hidden */
1314
  $output .= '<div class="um-modal-hidden-content">';
1315
 
1316
  $output .= '<div class="um-modal-header"> ' . $modal_label . '</div>';
1317
-
1318
  $output .= '<div class="um-modal-body">';
1319
-
1320
  if ( isset( $this->set_id ) ) {
1321
  $set_id = $this->set_id;
1322
  $set_mode = $this->set_mode;
@@ -1324,10 +1389,10 @@ class UM_Fields {
1324
  $set_id = 0;
1325
  $set_mode = '';
1326
  }
1327
-
1328
  $output .= '<div class="um-single-image-preview '. $crop_class .'" data-crop="'.$crop_data.'" data-ratio="'.$ratio.'" data-min_width="'.$min_width.'" data-min_height="'.$min_height.'" data-coord=""><a href="#" class="cancel"><i class="um-icon-close"></i></a><img src="" alt="" /></div>';
1329
  $output .= '<div class="um-single-image-upload" data-icon="'.$icon.'" data-set_id="'.$set_id.'" data-set_mode="'.$set_mode.'" data-type="'.$type.'" data-key="'.$key.'" data-max_size="'.$max_size.'" data-max_size_error="'.$max_size_error.'" data-min_size_error="'.$min_size_error.'" data-extension_error="'.$extension_error.'" data-allowed_types="'.$allowed_types.'" data-upload_text="'.$upload_text.'" data-max_files_error="'.$max_files_error.'" data-upload_help_text="'.$upload_help_text.'">'.$button_text.'</div>';
1330
-
1331
  $output .= '<div class="um-modal-footer">
1332
  <div class="um-modal-right">
1333
  <a href="#" class="um-modal-btn um-finish-upload image disabled" data-key="'.$key.'" data-change="'.__('Change photo','ultimatemember').'" data-processing="'.__('Processing...','ultimatemember').'"> ' . __('Apply','ultimatemember') . '</a>
@@ -1335,39 +1400,39 @@ class UM_Fields {
1335
  </div>
1336
  <div class="um-clear"></div>
1337
  </div>';
1338
-
1339
  $output .= '</div>';
1340
-
1341
  $output .= '</div>';
1342
-
1343
  /* end */
1344
-
1345
  if ( $this->is_error($key) ) {
1346
  $output .= $this->field_error( $this->show_error($key) );
1347
  }
1348
-
1349
  $output .= '</div>';
1350
-
1351
  break;
1352
-
1353
  /* Single File Upload */
1354
  case 'file':
1355
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
1356
-
1357
  $output .= '<input type="hidden" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. $this->field_value( $key, $default, $data ) . '" />';
1358
-
1359
  if ( isset( $data['label'] ) ) {
1360
  $output .= $this->field_label($label, $key, $data);
1361
  }
1362
-
1363
  $modal_label = ( isset( $data['label'] ) ) ? $data['label'] : __('Upload Photo','ultimatemember');
1364
-
1365
  $output .= '<div class="um-field-area" style="text-align: center">';
1366
-
1367
  if ( $this->field_value( $key, $default, $data ) ) {
1368
-
1369
  $extension = pathinfo( $this->field_value( $key, $default, $data ), PATHINFO_EXTENSION);
1370
-
1371
  $output .= '<div class="um-single-file-preview show" data-key="'.$key.'">
1372
  <a href="#" class="cancel"><i class="um-icon-close"></i></a>
1373
  <div class="um-single-fileinfo">
@@ -1377,12 +1442,12 @@ class UM_Fields {
1377
  </a>
1378
  </div>
1379
  </div><a href="#" data-modal="um_upload_single" data-modal-size="'.$modal_size.'" data-modal-copy="1" class="um-button um-btn-auto-width">'. __('Change file','ultimatemember') . '</a>';
1380
-
1381
  } else {
1382
-
1383
  $output .= '<div class="um-single-file-preview" data-key="'.$key.'">
1384
  </div><a href="#" data-modal="um_upload_single" data-modal-size="'.$modal_size.'" data-modal-copy="1" class="um-button um-btn-auto-width">'. $button_text . '</a>';
1385
-
1386
  }
1387
 
1388
  $output .= '</div>';
@@ -1391,9 +1456,9 @@ class UM_Fields {
1391
  $output .= '<div class="um-modal-hidden-content">';
1392
 
1393
  $output .= '<div class="um-modal-header"> ' . $modal_label . '</div>';
1394
-
1395
  $output .= '<div class="um-modal-body">';
1396
-
1397
  if ( isset( $this->set_id ) ) {
1398
  $set_id = $this->set_id;
1399
  $set_mode = $this->set_mode;
@@ -1401,7 +1466,7 @@ class UM_Fields {
1401
  $set_id = 0;
1402
  $set_mode = '';
1403
  }
1404
-
1405
  $output .= '<div class="um-single-file-preview">
1406
  <a href="#" class="cancel"><i class="um-icon-close"></i></a>
1407
  <div class="um-single-fileinfo">
@@ -1412,7 +1477,7 @@ class UM_Fields {
1412
  </div>
1413
  </div>';
1414
  $output .= '<div class="um-single-file-upload" data-icon="'.$icon.'" data-set_id="'.$set_id.'" data-set_mode="'.$set_mode.'" data-type="'.$type.'" data-key="'.$key.'" data-max_size="'.$max_size.'" data-max_size_error="'.$max_size_error.'" data-min_size_error="'.$min_size_error.'" data-extension_error="'.$extension_error.'" data-allowed_types="'.$allowed_types.'" data-upload_text="'.$upload_text.'" data-max_files_error="'.$max_files_error.'" data-upload_help_text="'.$upload_help_text.'">'.$button_text.'</div>';
1415
-
1416
  $output .= '<div class="um-modal-footer">
1417
  <div class="um-modal-right">
1418
  <a href="#" class="um-modal-btn um-finish-upload file disabled" data-key="'.$key.'" data-change="'.__('Change file').'" data-processing="'.__('Processing...','ultimatemember').'"> ' . __('Save','ultimatemember') . '</a>
@@ -1420,26 +1485,26 @@ class UM_Fields {
1420
  </div>
1421
  <div class="um-clear"></div>
1422
  </div>';
1423
-
1424
  $output .= '</div>';
1425
-
1426
  $output .= '</div>';
1427
-
1428
  /* end */
1429
-
1430
  if ( $this->is_error($key) ) {
1431
  $output .= $this->field_error( $this->show_error($key) );
1432
  }
1433
-
1434
  $output .= '</div>';
1435
-
1436
  break;
1437
-
1438
  /* Select dropdown */
1439
  case 'select':
1440
-
1441
  $form_key = str_replace('role_select','role',$key);
1442
-
1443
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
1444
 
1445
  if ( isset( $data['allowclear'] ) && $data['allowclear'] == 0 ) {
@@ -1447,28 +1512,31 @@ class UM_Fields {
1447
  } else {
1448
  $class = 'um-s1';
1449
  }
1450
-
1451
  if ( isset( $data['label'] ) ) {
1452
  $output .= $this->field_label($label, $key, $data);
1453
  }
1454
 
1455
  $output .= '<div class="um-field-area">';
1456
-
1457
  $output .= '<select name="'.$form_key.'" id="'.$form_key.'" data-validate="'.$validate.'" data-key="'.$key.'" class="'.$this->get_class($key, $data, $class).'" style="width: 100%" data-placeholder="'.$placeholder.'">';
1458
-
1459
  if ( isset($options) && $options == 'builtin'){
1460
  $options = $ultimatemember->builtin->get ( $filter );
1461
  }
1462
-
1463
  if (!isset($options)){
1464
  $options = $ultimatemember->builtin->get ( 'countries' );
1465
  }
1466
 
 
 
 
 
1467
 
1468
-
1469
  // role field
1470
  if ( $form_key == 'role' ) {
1471
-
1472
  global $wpdb;
1473
  foreach($options as $key => $val ) {
1474
  $val = (string) $val;
@@ -1478,53 +1546,53 @@ class UM_Fields {
1478
  $new_roles[$_role->post_name] = $_role->post_title;
1479
  wp_reset_postdata();
1480
  }
1481
-
1482
  $options = $new_roles;
1483
  }
1484
-
1485
-
1486
  // add an empty option!
1487
  $output .= '<option value=""></option>';
1488
 
1489
  // add options
1490
  foreach($options as $k => $v) {
1491
-
1492
  $v = rtrim($v);
1493
-
1494
  if ( !is_numeric( $k ) && in_array($form_key, array('role') ) ) {
1495
  $option_value = $k;
1496
  } else {
1497
  $option_value = $v;
1498
  }
1499
-
1500
  if ( isset( $options_pair ) ) {
1501
  $option_value = $k;
1502
  }
1503
-
1504
  $output .= '<option value="'.$option_value.'" ';
1505
- if ( $this->is_selected($form_key, $option_value, $data) ) {
1506
  $output.= 'selected';
1507
  }
1508
  $output .= '>'.$v.'</option>';
1509
-
1510
  }
1511
-
1512
  $output .= '</select>';
1513
-
1514
  $output .= '</div>';
1515
-
1516
  if ( $this->is_error($form_key) ) {
1517
  $output .= $this->field_error( $this->show_error($form_key) );
1518
  }
1519
-
1520
  $output .= '</div>';
1521
  break;
1522
-
1523
  /* Multi-Select dropdown */
1524
  case 'multiselect':
1525
-
1526
  $max_selections = ( isset( $max_selections ) ) ? absint( $max_selections ) : 0;
1527
-
1528
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
1529
 
1530
  if ( isset( $data['allowclear'] ) && $data['allowclear'] == 0 ) {
@@ -1532,15 +1600,15 @@ class UM_Fields {
1532
  } else {
1533
  $class = 'um-s1';
1534
  }
1535
-
1536
  if ( isset( $data['label'] ) ) {
1537
  $output .= $this->field_label($label, $key, $data);
1538
  }
1539
 
1540
  $output .= '<div class="um-field-area">';
1541
-
1542
  $output .= '<select multiple="multiple" name="'.$key.'[]" id="'.$key.'" data-maxsize="'. $max_selections . '" data-validate="'.$validate.'" data-key="'.$key.'" class="'.$this->get_class($key, $data, $class).'" style="width: 100%" data-placeholder="'.$placeholder.'">';
1543
-
1544
  if ( isset($options) && $options == 'builtin'){
1545
  $options = $ultimatemember->builtin->get ( $filter );
1546
  }
@@ -1549,59 +1617,68 @@ class UM_Fields {
1549
  $options = $ultimatemember->builtin->get ( 'countries' );
1550
  }
1551
 
1552
- $options = apply_filters("um_multiselect_options_{$data['type']}", $options, $data );
1553
-
 
 
 
 
1554
  // add an empty option!
1555
  $output .= '<option value=""></option>';
1556
-
1557
  // add options
1558
  foreach($options as $k => $v) {
1559
-
1560
  $v = rtrim($v);
1561
-
1562
  $use_keyword = apply_filters('um_multiselect_option_value', 0, $data['type'] );
1563
-
1564
  if ( $use_keyword ) {
1565
  $opt_value = $k;
1566
  } else {
1567
  $opt_value = $v;
1568
  }
1569
-
1570
  $output .= '<option value="'.$opt_value.'" ';
1571
- if ( $this->is_selected($key, $opt_value, $data) ) {
1572
  $output.= 'selected';
1573
  }
1574
  $output .= '>'.$v.'</option>';
1575
-
1576
  }
1577
-
1578
  $output .= '</select>';
1579
-
1580
  $output .= '</div>';
1581
-
1582
  if ( $this->is_error($key) ) {
1583
  $output .= $this->field_error( $this->show_error($key) );
1584
  }
1585
-
1586
  $output .= '</div>';
1587
  break;
1588
-
1589
  /* Radio */
1590
  case 'radio':
1591
-
1592
  $form_key = str_replace('role_radio','role',$key);
1593
-
 
 
 
 
 
1594
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
1595
-
1596
  if ( isset( $data['label'] ) ) {
1597
  $output .= $this->field_label($label, $key, $data);
1598
  }
1599
-
1600
  $output .= '<div class="um-field-area">';
1601
 
1602
  // role field
1603
  if ( $form_key == 'role' ) {
1604
-
1605
  global $wpdb;
1606
  foreach($options as $key => $val ) {
1607
  $val = (string) $val;
@@ -1611,30 +1688,30 @@ class UM_Fields {
1611
  $new_roles[$_role->post_name] = $_role->post_title;
1612
  wp_reset_postdata();
1613
  }
1614
-
1615
  $options = $new_roles;
1616
  }
1617
-
1618
  // add options
1619
  $i = 0;
1620
 
1621
  foreach($options as $k => $v) {
1622
-
1623
  $v = rtrim($v);
1624
-
1625
  if ( !is_numeric( $k ) && in_array($form_key, array('role') ) ) {
1626
  $option_value = $k;
1627
  } else {
1628
  $option_value = $v;
1629
  }
1630
-
1631
  $i++;
1632
  if ($i % 2 == 0 ) {
1633
  $col_class = 'right';
1634
  } else {
1635
  $col_class = '';
1636
  }
1637
-
1638
  if ( $this->is_radio_checked($key, $option_value, $data) ) {
1639
  $active = 'active';
1640
  $class = "um-icon-android-radio-button-on";
@@ -1642,10 +1719,10 @@ class UM_Fields {
1642
  $active = '';
1643
  $class = "um-icon-android-radio-button-off";
1644
  }
1645
-
1646
  $output .= '<label class="um-field-radio '.$active.' um-field-half '.$col_class.'">';
1647
  $output .= '<input type="radio" name="'.$form_key.'" value="'.$option_value.'" ';
1648
-
1649
  if ( $this->is_radio_checked($key, $option_value, $data) ) {
1650
  $output.= 'checked';
1651
  }
@@ -1654,48 +1731,54 @@ class UM_Fields {
1654
  $output .= '<span class="um-field-radio-state"><i class="'.$class.'"></i></span>';
1655
  $output .= '<span class="um-field-radio-option">'.$v.'</span>';
1656
  $output .= '</label>';
1657
-
1658
  if ($i % 2 == 0) {
1659
  $output .= '<div class="um-clear"></div>';
1660
  }
1661
 
1662
  }
1663
-
1664
  $output .= '<div class="um-clear"></div>';
1665
-
1666
  $output .= '</div>';
1667
-
1668
  if ( $this->is_error($form_key) ) {
1669
  $output .= $this->field_error( $this->show_error($form_key) );
1670
  }
1671
-
1672
  $output .= '</div>';
1673
  break;
1674
-
1675
  /* Checkbox */
1676
  case 'checkbox':
 
 
 
 
 
 
1677
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
1678
-
1679
  if ( isset( $data['label'] ) ) {
1680
  $output .= $this->field_label($label, $key, $data);
1681
  }
1682
-
1683
  $output .= '<div class="um-field-area">';
1684
-
1685
  // add options
1686
  $i = 0;
1687
-
1688
  foreach($options as $k => $v) {
1689
-
1690
  $v = rtrim($v);
1691
-
1692
  $i++;
1693
  if ($i % 2 == 0 ) {
1694
  $col_class = 'right';
1695
  } else {
1696
  $col_class = '';
1697
  }
1698
-
1699
  if ( $this->is_selected($key, $v, $data) ) {
1700
  $active = 'active';
1701
  $class = "um-icon-android-checkbox-outline";
@@ -1703,85 +1786,85 @@ class UM_Fields {
1703
  $active = '';
1704
  $class = "um-icon-android-checkbox-outline-blank";
1705
  }
1706
-
1707
  $output .= '<label class="um-field-checkbox '.$active.' um-field-half '.$col_class.'">';
1708
  $output .= '<input type="checkbox" name="'.$key.'[]" value="'.strip_tags( $v ).'" ';
1709
-
1710
- if ( $this->is_selected($key, $v, $data) ) {
1711
  $output.= 'checked';
1712
  }
1713
-
1714
  $output .= ' />';
1715
-
1716
  $output .= '<span class="um-field-checkbox-state"><i class="'.$class.'"></i></span>';
1717
  $output .= '<span class="um-field-checkbox-option">'. $v .'</span>';
1718
  $output .= '</label>';
1719
-
1720
  if ($i % 2 == 0) {
1721
  $output .= '<div class="um-clear"></div>';
1722
  }
1723
-
1724
  }
1725
-
1726
  $output .= '<div class="um-clear"></div>';
1727
-
1728
  $output .= '</div>';
1729
-
1730
  if ( $this->is_error($key) ) {
1731
  $output .= $this->field_error( $this->show_error($key) );
1732
  }
1733
-
1734
  $output .= '</div>';
1735
  break;
1736
-
1737
  /* HTML */
1738
  case 'block':
1739
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">
1740
  <div class="um-field-block">'.$content.'</div>
1741
  </div>';
1742
  break;
1743
-
1744
  /* Shortcode */
1745
  case 'shortcode':
1746
-
1747
  $content = str_replace('{profile_id}', um_profile_id(), $content );
1748
-
1749
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">
1750
  <div class="um-field-shortcode">' . do_shortcode($content) . '</div>
1751
  </div>';
1752
  break;
1753
-
1754
  /* Unlimited Group */
1755
  case 'group':
1756
-
1757
  $fields = $this->get_fields_in_group( $key );
1758
  if ( !empty( $fields ) ) {
1759
-
1760
  $output .= '<div class="um-field-group" data-max_entries="'.$max_entries.'">
1761
  <div class="um-field-group-head"><i class="um-icon-plus"></i>'.$label.'</div>';
1762
  $output .= '<div class="um-field-group-body"><a href="#" class="um-field-group-cancel"><i class="um-icon-close"></i></a>';
1763
-
1764
  foreach($fields as $subkey => $subdata) {
1765
  $output .= $this->edit_field( $subkey, $subdata, 'group' );
1766
  }
1767
-
1768
  $output .= '</div>';
1769
  $output .= '</div>';
1770
-
1771
  }
1772
-
1773
  break;
1774
-
1775
  }
1776
-
1777
  // Custom filter for field output
1778
  if ( isset( $this->set_mode ) ) {
1779
  $output = apply_filters("um_{$key}_form_edit_field", $output, $this->set_mode);
1780
  }
1781
-
1782
  return $output;
1783
  }
1784
-
1785
  /***
1786
  *** @sort array function
1787
  ***/
@@ -1796,7 +1879,7 @@ class UM_Fields {
1796
  array_multisort($sort_col, $dir, $arr);
1797
  return $arr;
1798
  }
1799
-
1800
  /***
1801
  *** @get fields in row
1802
  ***/
@@ -1808,7 +1891,7 @@ class UM_Fields {
1808
  }
1809
  return ( isset ( $results ) ) ? $results : '';
1810
  }
1811
-
1812
  /***
1813
  *** @get fields by sub row
1814
  ***/
@@ -1821,7 +1904,7 @@ class UM_Fields {
1821
  }
1822
  return ( isset ( $results ) ) ? $results : '';
1823
  }
1824
-
1825
  /***
1826
  *** @get fields in group
1827
  ***/
@@ -1833,7 +1916,7 @@ class UM_Fields {
1833
  }
1834
  return ( isset ( $results ) ) ? $results : '';
1835
  }
1836
-
1837
  /***
1838
  *** @get fields in column
1839
  ***/
@@ -1845,28 +1928,28 @@ class UM_Fields {
1845
  }
1846
  return ( isset ( $results ) ) ? $results : '';
1847
  }
1848
-
1849
  /***
1850
  *** @display fields
1851
  ***/
1852
  function display( $mode, $args ) {
1853
  global $ultimatemember;
1854
  $output = null;
1855
-
1856
  $this->global_args = $args;
1857
-
1858
  $ultimatemember->form->form_suffix = '-' . $this->global_args['form_id'];
1859
-
1860
  $this->set_mode = $mode;
1861
  $this->set_id = $this->global_args['form_id'];
1862
-
1863
  $this->field_icons = ( isset( $this->global_args['icons'] ) ) ? $this->global_args['icons'] : 'label';
1864
-
1865
  // start output here
1866
  $this->get_fields = $this->get_fields();
1867
 
1868
  if ( !empty( $this->get_fields ) ) {
1869
-
1870
  // find rows
1871
  foreach( $this->get_fields as $key => $array ) {
1872
  if ( $array['type'] == 'row' ) {
@@ -1874,26 +1957,26 @@ class UM_Fields {
1874
  unset( $this->get_fields[ $key ] ); // not needed anymore
1875
  }
1876
  }
1877
-
1878
  // rows fallback
1879
  if ( !isset( $this->rows ) ){
1880
  $this->rows = array( '_um_row_1' => array(
1881
- 'type' => 'row',
1882
  'id' => '_um_row_1',
1883
  'sub_rows' => 1,
1884
  'cols' => 1
1885
  )
1886
  );
1887
  }
1888
-
1889
  // master rows
1890
  foreach ( $this->rows as $row_id => $row_array ) {
1891
-
1892
  $row_fields = $this->get_fields_by_row( $row_id );
1893
  if ( $row_fields ) {
1894
-
1895
  $output .= $this->new_row_output( $row_id, $row_array );
1896
-
1897
  $sub_rows = ( isset( $row_array['sub_rows'] ) ) ? $row_array['sub_rows'] : 1;
1898
  for( $c = 0; $c < $sub_rows; $c++ ) {
1899
 
@@ -1909,154 +1992,154 @@ class UM_Fields {
1909
  // sub row fields
1910
  $subrow_fields = null;
1911
  $subrow_fields = $this->get_fields_in_subrow( $row_fields, $c );
1912
-
1913
  if ( is_array( $subrow_fields ) ) {
1914
-
1915
  $subrow_fields = $this->array_sort_by_column( $subrow_fields, 'position');
1916
 
1917
  if ( $cols_num == 1 ) {
1918
-
1919
  $output .= '<div class="um-col-1">';
1920
  $col1_fields = $this->get_fields_in_column( $subrow_fields, 1 );
1921
  if ( $col1_fields ) {
1922
  foreach( $col1_fields as $key => $data ) {$output .= $this->edit_field( $key, $data );}
1923
  }
1924
  $output .= '</div>';
1925
-
1926
  } else if ( $cols_num == 2 ) {
1927
-
1928
  $output .= '<div class="um-col-121">';
1929
  $col1_fields = $this->get_fields_in_column( $subrow_fields, 1 );
1930
  if ( $col1_fields ) {
1931
  foreach( $col1_fields as $key => $data ) {$output .= $this->edit_field( $key, $data );}
1932
  }
1933
  $output .= '</div>';
1934
-
1935
  $output .= '<div class="um-col-122">';
1936
  $col2_fields = $this->get_fields_in_column( $subrow_fields, 2 );
1937
  if ( $col2_fields ) {
1938
  foreach( $col2_fields as $key => $data ) {$output .= $this->edit_field( $key, $data );}
1939
  }
1940
  $output .= '</div><div class="um-clear"></div>';
1941
-
1942
  } else {
1943
-
1944
  $output .= '<div class="um-col-131">';
1945
  $col1_fields = $this->get_fields_in_column( $subrow_fields, 1 );
1946
  if ( $col1_fields ) {
1947
  foreach( $col1_fields as $key => $data ) {$output .= $this->edit_field( $key, $data );}
1948
  }
1949
  $output .= '</div>';
1950
-
1951
  $output .= '<div class="um-col-132">';
1952
  $col2_fields = $this->get_fields_in_column( $subrow_fields, 2 );
1953
  if ( $col2_fields ) {
1954
  foreach( $col2_fields as $key => $data ) {$output .= $this->edit_field( $key, $data );}
1955
  }
1956
  $output .= '</div>';
1957
-
1958
  $output .= '<div class="um-col-133">';
1959
  $col3_fields = $this->get_fields_in_column( $subrow_fields, 3 );
1960
  if ( $col3_fields ) {
1961
  foreach( $col3_fields as $key => $data ) {$output .= $this->edit_field( $key, $data );}
1962
  }
1963
  $output .= '</div><div class="um-clear"></div>';
1964
-
1965
  }
1966
-
1967
  }
1968
-
1969
  }
1970
-
1971
  $output .= '</div>';
1972
-
1973
  }
1974
-
1975
  }
1976
 
1977
  }
1978
-
1979
  return $output;
1980
  }
1981
-
1982
  /***
1983
  *** @a field in view mode
1984
  ***/
1985
  function view_field( $key, $data, $rule=false ) {
1986
  global $ultimatemember;
1987
-
1988
  $output = null;
1989
-
1990
  // get whole field data
1991
  if (is_array($data)) {
1992
  $data = $this->get_field($key);
1993
  extract($data);
1994
  }
1995
-
1996
  if ( !isset( $data['type'] ) ) return;
1997
-
1998
  if ( isset( $data['in_group'] ) && $data['in_group'] != '' && $rule != 'group' ) return;
1999
 
2000
  if ( $visibility == 'edit' ) return;
2001
-
2002
  if ( in_array( $type, array('block','shortcode','spacing','divider','group') ) ) {
2003
 
2004
  } else {
2005
  if ( ! $this->field_value( $key, $default, $data ) ) return;
2006
  }
2007
-
2008
  if ( !um_can_view_field( $data ) ) return;
2009
-
2010
  // disable these fields in profile view only
2011
  if ( in_array( $key, array('user_password') ) && $this->set_mode == 'profile' ) {
2012
  return;
2013
  }
2014
-
2015
  if ( !um_field_conditions_are_met( $data ) ) return;
2016
-
2017
  switch( $type ) {
2018
 
2019
  /* Default */
2020
  default:
2021
-
2022
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
2023
-
2024
  if ( isset( $data['label'] ) ) {
2025
  $output .= $this->field_label($label, $key, $data);
2026
  }
2027
-
2028
  $res = stripslashes( $this->field_value( $key, $default, $data ) );
2029
 
2030
  $output .= '<div class="um-field-area">';
2031
  $output .= '<div class="um-field-value">' . $res . '</div>';
2032
  $output .= '</div>';
2033
-
2034
  $output .= '</div>';
2035
-
2036
  break;
2037
-
2038
  /* HTML */
2039
  case 'block':
2040
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">
2041
  <div class="um-field-block">'.$content.'</div>
2042
  </div>';
2043
  break;
2044
-
2045
  /* Shortcode */
2046
  case 'shortcode':
2047
-
2048
  $content = str_replace('{profile_id}', um_profile_id(), $content );
2049
-
2050
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">
2051
  <div class="um-field-shortcode">' . do_shortcode($content) . '</div>
2052
  </div>';
2053
  break;
2054
-
2055
  /* Gap/Space */
2056
  case 'spacing':
2057
  $output .= '<div class="um-field um-field-spacing' . $classes . '"' . $conditional . ' style="height: '.$spacing.'"></div>';
2058
  break;
2059
-
2060
  /* A line divider */
2061
  case 'divider':
2062
  $output .= '<div class="um-field um-field-divider' . $classes . '"' . $conditional . ' style="border-bottom: '.$borderwidth.'px '.$borderstyle.' '.$bordercolor.'">';
@@ -2065,12 +2148,12 @@ class UM_Fields {
2065
  }
2066
  $output .= '</div>';
2067
  break;
2068
-
2069
  /* Rating */
2070
  case 'rating':
2071
-
2072
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
2073
-
2074
  if ( isset( $data['label'] ) ) {
2075
  $output .= $this->field_label($label, $key, $data);
2076
  }
@@ -2080,58 +2163,58 @@ class UM_Fields {
2080
  <div class="um-rating-readonly um-raty" id="'.$key.'" data-key="'.$key.'" data-number="'.$data['number'].'" data-score="' . $this->field_value( $key, $default, $data ) . '"></div>
2081
  </div>';
2082
  $output .= '</div>';
2083
-
2084
  $output .= '</div>';
2085
-
2086
  break;
2087
-
2088
  }
2089
-
2090
  // Custom filter for field output
2091
  if ( isset( $this->set_mode ) ) {
2092
  $output = apply_filters("um_{$key}_form_show_field", $output, $this->set_mode);
2093
  }
2094
-
2095
  return $output;
2096
  }
2097
-
2098
  /***
2099
  *** @display fields (view mode)
2100
  ***/
2101
  function display_view( $mode, $args ) {
2102
  global $ultimatemember;
2103
  $output = null;
2104
-
2105
  $this->global_args = $args;
2106
-
2107
  $ultimatemember->form->form_suffix = '-' . $this->global_args['form_id'];
2108
-
2109
  $this->set_mode = $mode;
2110
  $this->set_id = $this->global_args['form_id'];
2111
-
2112
  $this->field_icons = ( isset( $this->global_args['icons'] ) ) ? $this->global_args['icons'] : 'label';
2113
-
2114
  // start output here
2115
  $this->get_fields = $this->get_fields();
2116
 
2117
  if ( um_get_option('profile_empty_text') ) {
2118
-
2119
  $emo = um_get_option('profile_empty_text_emo');
2120
  if ( $emo ) {
2121
  $emo = '<i class="um-faicon-frown-o"></i>';
2122
  } else {
2123
  $emo = false;
2124
  }
2125
-
2126
  if ( um_is_myprofile() ) {
2127
  $output .= '<p class="um-profile-note">' . $emo .'<span>' . sprintf(__('Your profile is looking a little empty. Why not <a href="%s">add</a> some information!','ultimatemember'), um_edit_profile_url() ) . '</span></p>';
2128
  } else {
2129
  $output .= '<p class="um-profile-note">'. $emo . '<span>' . __('This user has not added any information to their profile yet.','ultimatemember') . '</span></p>';
2130
  }
2131
  }
2132
-
2133
  if ( !empty( $this->get_fields ) ) {
2134
-
2135
  // find rows
2136
  foreach( $this->get_fields as $key => $array ) {
2137
  if ( $array['type'] == 'row' ) {
@@ -2139,24 +2222,24 @@ class UM_Fields {
2139
  unset( $this->get_fields[ $key ] ); // not needed anymore
2140
  }
2141
  }
2142
-
2143
  // rows fallback
2144
  if ( !isset( $this->rows ) ){
2145
  $this->rows = array( '_um_row_1' => array(
2146
- 'type' => 'row',
2147
  'id' => '_um_row_1',
2148
  'sub_rows' => 1,
2149
  'cols' => 1
2150
  )
2151
  );
2152
  }
2153
-
2154
  // master rows
2155
  foreach ( $this->rows as $row_id => $row_array ) {
2156
-
2157
  $row_fields = $this->get_fields_by_row( $row_id );
2158
  if ( $row_fields ) {
2159
-
2160
  $output .= $this->new_row_output( $row_id, $row_array );
2161
 
2162
  $sub_rows = ( isset( $row_array['sub_rows'] ) ) ? $row_array['sub_rows'] : 1;
@@ -2174,83 +2257,83 @@ class UM_Fields {
2174
  // sub row fields
2175
  $subrow_fields = null;
2176
  $subrow_fields = $this->get_fields_in_subrow( $row_fields, $c );
2177
-
2178
  if ( is_array( $subrow_fields ) ) {
2179
-
2180
  $subrow_fields = $this->array_sort_by_column( $subrow_fields, 'position');
2181
 
2182
  if ( $cols_num == 1 ) {
2183
-
2184
  $output .= '<div class="um-col-1">';
2185
  $col1_fields = $this->get_fields_in_column( $subrow_fields, 1 );
2186
  if ( $col1_fields ) {
2187
  foreach( $col1_fields as $key => $data ) {$output .= $this->view_field( $key, $data );}
2188
  }
2189
  $output .= '</div>';
2190
-
2191
  } else if ( $cols_num == 2 ) {
2192
-
2193
  $output .= '<div class="um-col-121">';
2194
  $col1_fields = $this->get_fields_in_column( $subrow_fields, 1 );
2195
  if ( $col1_fields ) {
2196
  foreach( $col1_fields as $key => $data ) {$output .= $this->view_field( $key, $data );}
2197
  }
2198
  $output .= '</div>';
2199
-
2200
  $output .= '<div class="um-col-122">';
2201
  $col2_fields = $this->get_fields_in_column( $subrow_fields, 2 );
2202
  if ( $col2_fields ) {
2203
  foreach( $col2_fields as $key => $data ) {$output .= $this->view_field( $key, $data );}
2204
  }
2205
  $output .= '</div><div class="um-clear"></div>';
2206
-
2207
  } else {
2208
-
2209
  $output .= '<div class="um-col-131">';
2210
  $col1_fields = $this->get_fields_in_column( $subrow_fields, 1 );
2211
  if ( $col1_fields ) {
2212
  foreach( $col1_fields as $key => $data ) {$output .= $this->view_field( $key, $data );}
2213
  }
2214
  $output .= '</div>';
2215
-
2216
  $output .= '<div class="um-col-132">';
2217
  $col2_fields = $this->get_fields_in_column( $subrow_fields, 2 );
2218
  if ( $col2_fields ) {
2219
  foreach( $col2_fields as $key => $data ) {$output .= $this->view_field( $key, $data );}
2220
  }
2221
  $output .= '</div>';
2222
-
2223
  $output .= '<div class="um-col-133">';
2224
  $col3_fields = $this->get_fields_in_column( $subrow_fields, 3 );
2225
  if ( $col3_fields ) {
2226
  foreach( $col3_fields as $key => $data ) {$output .= $this->view_field( $key, $data );}
2227
  }
2228
  $output .= '</div><div class="um-clear"></div>';
2229
-
2230
  }
2231
-
2232
  }
2233
-
2234
  }
2235
-
2236
  $output .= '</div>';
2237
-
2238
  }
2239
-
2240
  }
2241
 
2242
  }
2243
-
2244
  return $output;
2245
  }
2246
-
2247
  /***
2248
  *** @begin new row in form
2249
  ***/
2250
  function new_row_output( $row_id, $row_array ) {
2251
  $output = null;
2252
  extract($row_array);
2253
-
2254
  $padding = (isset($padding))?$padding:'';
2255
  $margin = (isset($margin))?$margin:'';
2256
  $background = (isset($background))?$background:'';
@@ -2260,7 +2343,7 @@ class UM_Fields {
2260
  $borderstyle = (isset($borderstyle))?$borderstyle:'';
2261
  $heading = (isset($heading))?$heading:'';
2262
  $css_class = (isset($css_class))?$css_class:'';
2263
-
2264
  $css_padding = '';
2265
  $css_margin = '';
2266
  $css_background = '';
@@ -2272,7 +2355,7 @@ class UM_Fields {
2272
  $css_heading_padding = '';
2273
  $css_heading_text_color = '';
2274
  $css_heading_borderradius = '';
2275
-
2276
  // row css rules
2277
  if ( $padding ) $css_padding = 'padding: ' . $padding .';';
2278
  if ( $margin ) {
@@ -2280,19 +2363,19 @@ class UM_Fields {
2280
  } else {
2281
  $css_margin = 'margin: 0 0 30px 0;';
2282
  }
2283
-
2284
  if ( $background ) $css_background = 'background-color: ' . $background .';';
2285
  if ( $borderradius ) $css_borderradius = 'border-radius: 0px 0px ' . $borderradius . ' ' . $borderradius . ';';
2286
  if ( $border ) $css_border = 'border-width: ' . $border . ';';
2287
  if ( $bordercolor ) $css_bordercolor = 'border-color: ' . $bordercolor . ';';
2288
  if ( $borderstyle ) $css_borderstyle = 'border-style: ' . $borderstyle . ';';
2289
-
2290
  // show the heading
2291
  if ( $heading ) {
2292
 
2293
  $heading_background_color = (isset($heading_background_color))?$heading_background_color:'';
2294
  $heading_text_color = (isset($heading_text_color))?$heading_text_color:'';
2295
-
2296
  if ( $heading_background_color ) {
2297
  $css_heading_background_color = 'background-color: ' . $heading_background_color .';';
2298
  $css_heading_padding = 'padding: 10px 15px;';
@@ -2300,21 +2383,21 @@ class UM_Fields {
2300
 
2301
  if ( $heading_text_color ) $css_heading_text_color = 'color: ' . $heading_text_color .';';
2302
  if ( $borderradius ) $css_heading_borderradius = 'border-radius: ' . $borderradius . ' ' . $borderradius . ' 0px 0px;';
2303
-
2304
  $output .= '<div class="um-row-heading" style="' . $css_heading_background_color . $css_heading_padding . $css_heading_text_color . $css_heading_borderradius . '">';
2305
  if ( isset($icon) ) $output .= '<span class="um-row-heading-icon"><i class="' . $icon . '"></i></span>';
2306
  $output .= $heading_text .'</div>';
2307
-
2308
  } else {
2309
-
2310
  // no heading
2311
  if ( $borderradius ) $css_borderradius = 'border-radius: ' . $borderradius . ';';
2312
-
2313
  }
2314
 
2315
  $output .= '<div class="um-row ' . $row_id . ' ' . $css_class . '" style="'. $css_padding . $css_background . $css_margin . $css_border . $css_borderstyle . $css_bordercolor . $css_borderradius . '">';
2316
-
2317
  return $output;
2318
  }
2319
 
2320
- }
3
  class UM_Fields {
4
 
5
  function __construct() {
6
+
7
  $this->editing = false;
8
  $this->viewing = false;
9
 
10
  }
11
+
12
  /***
13
  *** @standard checkbox field
14
  ***/
15
  function checkbox( $id, $title ) {
16
  ?>
17
+
18
  <div class="um-field um-field-c">
19
  <div class="um-field-area">
20
  <label class="um-field-checkbox active">
23
  </label>
24
  </div>
25
  </div>
26
+
27
  <?php
28
  }
29
+
30
  /***
31
  *** @show user social links
32
  ***/
40
  }
41
  foreach( $social as $k => $arr ) {
42
  if ( um_profile( $k ) ) { ?>
43
+
44
  <a href="<?php echo um_filtered_social_link( $k , $arr['match'] ); ?>" style="background: <?php echo $arr['color']; ?>;" target="_blank" class="um-tip-n" title="<?php echo $arr['title']; ?>"><i class="<?php echo $arr['icon']; ?>"></i></a>
45
+
46
  <?php
47
  }
48
  }
49
  }
50
+
51
  /***
52
  *** @hidden fields inside shortcode
53
  ***/
54
  function add_hidden_field( $field ) {
55
  global $ultimatemember;
56
  echo '<div style="display: none !important;">';
57
+
58
  $fields = $ultimatemember->builtin->get_specific_fields( $field );
59
+
60
  $output = null;
61
+
62
  foreach( $fields as $key => $data ) {
63
  $output .= $ultimatemember->fields->edit_field( $key, $data );
64
  }
65
+
66
  echo $output;
67
+
68
  echo '</div>';
69
  }
70
+
71
  /***
72
  *** @update a field globally
73
  ***/
74
  function globally_update_field($id, $args){
75
  global $ultimatemember;
76
  $fields = $ultimatemember->builtin->saved_fields;
77
+
78
  $fields[$id] = $args;
79
 
80
  unset( $fields[ $id ]['in_row'] );
82
  unset( $fields[ $id ]['in_column'] );
83
  unset( $fields[ $id ]['in_group'] );
84
  unset( $fields[ $id ]['position'] );
85
+
86
  update_option('um_fields', $fields );
87
  }
88
+
89
  /***
90
  *** @update a field in form only
91
  ***/
92
  function update_field($id, $args, $form_id){
93
  global $ultimatemember;
94
  $fields = $ultimatemember->query->get_attr( 'custom_fields', $form_id );
95
+
96
  if ( $args['type'] == 'row' ) {
97
  if ( isset( $fields[$id] ) ){
98
  $old_args = $fields[$id];
104
  $args = array_merge( $old_args, $args );
105
  }
106
  }
107
+
108
  // custom fields support
109
  if ( isset( $ultimatemember->builtin->predefined_fields[$id] ) && isset( $ultimatemember->builtin->predefined_fields[$id]['custom'] ) ) {
110
  $args = array_merge( $ultimatemember->builtin->predefined_fields[$id], $args);
111
  }
112
+
113
  $fields[$id] = $args;
114
+
115
  // for group field only
116
  if ( $args['type'] == 'group' ){
117
  $fields[$id]['in_group'] = '';
118
  }
119
+
120
  $ultimatemember->query->update_attr( 'custom_fields', $form_id, $fields );
121
  }
122
+
123
  /***
124
  *** @delete a field in form only
125
  ***/
131
  $ultimatemember->query->update_attr( 'custom_fields', $form_id, $fields );
132
  }
133
  }
134
+
135
  /***
136
  *** @delete the field from custom fields
137
  ***/
143
  update_option('um_fields', $fields );
144
  }
145
  }
146
+
147
  /***
148
  *** @quickly add field from custom fields
149
  ***/
151
  global $ultimatemember;
152
  $fields = $ultimatemember->query->get_attr( 'custom_fields', $form_id );
153
  $field_scope = $ultimatemember->builtin->saved_fields;
154
+
155
  if ( !isset( $fields[$global_id] ) ) {
156
+
157
  $count = 1;
158
  if ( isset( $fields ) && !empty( $fields) ) $count = count($fields)+1;
159
+
160
  $fields[$global_id] = $field_scope[$global_id];
161
  $fields[$global_id]['position'] = $count;
162
+
163
  // set position
164
  if ( $position ) {
165
  foreach( $position as $key => $val ) {
166
  $fields[$global_id][$key] = $val;
167
  }
168
  }
169
+
170
  // add field to form
171
  $ultimatemember->query->update_attr( 'custom_fields', $form_id, $fields );
172
+
173
  }
174
  }
175
+
176
  /***
177
  *** @quickly add field from predefined fields
178
  ***/
179
  function add_field_from_predefined( $global_id, $form_id, $position = array() ) {
180
  global $ultimatemember;
181
+
182
  $fields = $ultimatemember->query->get_attr( 'custom_fields', $form_id );
183
  $field_scope = $ultimatemember->builtin->predefined_fields;
184
+
185
  if ( !isset( $fields[$global_id] ) ) {
186
+
187
  $count = 1;
188
  if ( isset( $fields ) && !empty( $fields) ) $count = count($fields)+1;
189
+
190
  $fields[$global_id] = $field_scope[$global_id];
191
  $fields[$global_id]['position'] = $count;
192
+
193
  // set position
194
  if ( $position ) {
195
  foreach( $position as $key => $val ) {
196
  $fields[$global_id][$key] = $val;
197
  }
198
  }
199
+
200
  // add field to form
201
  $ultimatemember->query->update_attr( 'custom_fields', $form_id, $fields );
202
+
203
  // add field to db
204
  //$this->globally_update_field( $global_id, $fields[$global_id] );
205
+
206
  }
207
  }
208
+
209
  /***
210
  *** @Duplicates a field by meta key
211
  *** @requires form id and meta key
214
  global $ultimatemember;
215
  $fields = $ultimatemember->query->get_attr( 'custom_fields', $form_id );
216
  $all_fields = $ultimatemember->builtin->saved_fields;
217
+
218
  $inc = count( $fields ) + 1;
219
+
220
  $duplicate = $fields[ $id ];
221
+
222
  $new_metakey = $id . "_" . $inc;
223
  $new_title = $fields[ $id ]['title'] . " #" . $inc;
224
  $new_position = $inc;
225
+
226
  $duplicate['title'] = $new_title;
227
  $duplicate['metakey'] = $new_metakey;
228
  $duplicate['position'] = $new_position;
229
 
230
  $fields[ $new_metakey ] = $duplicate;
231
  $all_fields[ $new_metakey ] = $duplicate;
232
+
233
  // not global attributes
234
  unset( $all_fields[ $new_metakey ]['in_row'] );
235
  unset( $all_fields[ $new_metakey ]['in_sub_row'] );
236
  unset( $all_fields[ $new_metakey ]['in_column'] );
237
  unset( $all_fields[ $new_metakey ]['in_group'] );
238
  unset( $all_fields[ $new_metakey ]['position'] );
239
+
240
  $ultimatemember->query->update_attr( 'custom_fields', $form_id, $fields );
241
  update_option('um_fields', $all_fields );
242
+
243
  }
244
+
245
  /***
246
  *** @Print field error
247
  ***/
256
  } else {
257
  $output = '';
258
  }
259
+
260
  if ( !$ultimatemember->form->processing ) {
261
  $output = '<div class="um-field-error"><span class="um-field-arrow"><i class="um-faicon-caret-up"></i></span>'.$text.'</div>';
262
  }
263
  return $output;
264
  }
265
+
266
  /***
267
  *** @Check if field has a server side error
268
  ***/
270
  global $ultimatemember;
271
  return $ultimatemember->form->has_error($key);
272
  }
273
+
274
  /***
275
  *** @Return field error
276
  ***/
278
  global $ultimatemember;
279
  return $ultimatemember->form->errors[$key];
280
  }
281
+
282
  /***
283
  *** @Display field label
284
  ***/
286
  global $ultimatemember;
287
  $output = null;
288
  $output .= '<div class="um-field-label">';
289
+
290
  if ( isset($data['icon']) && $data['icon'] != '' && isset( $this->field_icons ) && $this->field_icons != 'off' && ( $this->field_icons == 'label' || $this->viewing == true ) ) {
291
  $output .= '<div class="um-field-label-icon"><i class="'.$data['icon'].'"></i></div>';
292
  }
293
+
294
  if ( $this->viewing == true ) {
295
  $label = apply_filters("um_view_label_{$key}", $label );
296
  } else {
297
  $label = apply_filters("um_edit_label_{$key}", $label );
298
  $label = apply_filters("um_edit_label_all_fields", $label, $data );
299
  }
300
+
301
  $output .= '<label for="'.$key.$ultimatemember->form->form_suffix.'">'.$label.'</label>';
302
+
303
  if ( isset( $data['help'] ) && !empty( $data['help'] ) && $this->viewing == false && !strstr($key, 'confirm_user_pass') ) {
304
+
305
  if ( !$ultimatemember->mobile->isMobile() ) {
306
  if ( !isset( $this->disable_tooltips ) ) {
307
  $output .= '<span class="um-tip um-tip-w" title="'.$data['help'].'"><i class="um-icon-help-circled"></i></span>';
308
  }
309
  }
310
+
311
  if ( $ultimatemember->mobile->isMobile() || isset( $this->disable_tooltips ) ) {
312
  $output .= '<span class="um-tip-text">'. $data['help'] . '</span>';
313
  }
314
+
315
  }
316
+
317
  $output .= '<div class="um-clear"></div></div>';
318
+
319
  return $output;
320
  }
321
 
324
  ***/
325
  function get_class($key, $data, $add = null) {
326
  $classes = null;
327
+
328
  $classes .= 'um-form-field ';
329
+
330
  if ( $this->is_error($key) ) {
331
  $classes .= 'um-error ';
332
  } else {
333
  $classes .= 'valid ';
334
  }
335
+
336
  if ( !isset($data['required']) ) {
337
  $classes .= 'not-required ';
338
  }
339
+
340
  if ( $data['type'] == 'date' ) {
341
  $classes .= 'um-datepicker ';
342
  }
343
+
344
  if ( $data['type'] == 'time' ) {
345
  $classes .= 'um-timepicker ';
346
  }
347
+
348
  if ( isset($data['icon']) && $data['icon'] && isset( $this->field_icons ) && $this->field_icons == 'field' ) {
349
  $classes .= 'um-iconed';
350
  }
352
  if ($add) {
353
  $classes .= $add . ' ';
354
  }
355
+
356
  return $classes;
357
  }
358
+
359
  /***
360
  *** @Get field value
361
  ***/
362
  function field_value( $key, $default = false, $data = null ) {
363
  global $ultimatemember;
364
+
365
  if ( isset($_SESSION) && isset($_SESSION['um_social_profile'][$key]) && isset( $this->set_mode ) && $this->set_mode == 'register' )
366
  return $_SESSION['um_social_profile'][$key];
367
+
368
  $type = (isset($data['type']))?$data['type']:'';
369
+
370
  // preview in backend
371
  if ( isset( $ultimatemember->user->preview ) && $ultimatemember->user->preview ) {
372
  $submitted = um_user('submitted');
376
  return 'Undefined';
377
  }
378
  }
379
+
380
  // normal state
381
  if ( isset($ultimatemember->form->post_form[$key]) ) {
382
+
383
  if ( strstr( $key, 'user_pass' ) && $this->set_mode != 'password' ) return '';
384
+
385
  return $ultimatemember->form->post_form[$key];
386
+
387
  } else if ( um_user( $key ) && $this->editing == true ) {
388
+
389
  if ( strstr( $key, 'user_pass' ) ) return '';
390
+
391
+ return apply_filters( "um_edit_{$key}_field_value", um_user( $key ), $key );
392
+
393
  } else if ( ( um_user( $key ) || isset($data['show_anyway']) ) && $this->viewing == true ) {
394
+
395
  $value = um_filtered_value( $key, $data );
396
  return $value;
397
+
398
+ } else if ( $default ) {
399
+
400
  return $default;
401
+
402
+ } else if ( $this->editing == true ) {
403
+
404
+ return apply_filters( "um_edit_{$key}_field_value", '', $key);
405
+
406
  }
407
 
408
  return '';
409
  }
410
+
411
  /***
412
  *** @Check if option is selected
413
  ***/
414
  function is_selected($key, $value, $data){
415
  global $ultimatemember;
416
+
417
  if ( isset( $ultimatemember->form->post_form[$key] ) && is_array( $ultimatemember->form->post_form[$key] ) ) {
418
+
419
  if ( in_array( $value, $ultimatemember->form->post_form[$key] ) ){
420
  return true;
421
  }
422
+
423
  } else {
424
+
425
  if ( !isset( $ultimatemember->form->post_form ) ) {
426
+
427
  if ( um_user( $key ) && $this->editing == true && is_array( um_user( $key ) ) && in_array($value, um_user( $key ) ) ) {
428
  return true;
429
  }
430
+
431
  if ( um_user( $key ) && $this->editing == true && !is_array( um_user( $key ) ) && um_user( $key ) == $value ) {
432
  return true;
433
  }
434
+
435
  if ( strstr( $data['default'], ', ') ) {
436
  $data['default'] = explode(', ', $data['default']);
437
  }
438
+
439
  if ( isset($data['default']) && !is_array($data['default']) && $data['default'] == $value ) {
440
  return true;
441
  }
442
+
443
  if ( isset($data['default']) && is_array($data['default']) && in_array($value, $data['default'] ) ){
444
  return true;
445
  }
446
+
447
  } else {
448
+
449
  if ( isset( $ultimatemember->form->post_form[$key] ) && $value == $ultimatemember->form->post_form[$key] ) {
450
  return true;
451
  }
452
+
453
  }
454
+
455
  }
456
+
457
  return false;
458
  }
459
+
460
  /***
461
  *** @Check if radio button is checked
462
  ***/
464
  global $ultimatemember;
465
 
466
  if ( isset( $ultimatemember->form->post_form[$key] ) && is_array( $ultimatemember->form->post_form[$key] ) ) {
467
+
468
  if ( in_array( $value, $ultimatemember->form->post_form[$key] ) ){
469
  return true;
470
  }
471
+
472
  } else {
473
+
474
  if ( !isset( $ultimatemember->form->post_form ) ) {
475
+
476
  if ( um_user( $key ) && $this->editing == true ) {
477
+
478
  if ( strstr($key, 'role_') ) {
479
  $key = 'role';
480
  }
481
+
482
  if ( um_user( $key ) == $value ) {
483
  return true;
484
  }
485
+
486
  } else {
487
+
488
  if ( isset($data['default']) && $data['default'] == $value ) {
489
  return true;
490
  }
491
+
492
  }
493
+
494
  } else {
495
+
496
  if ( isset( $ultimatemember->form->post_form[$key] ) && $value == $ultimatemember->form->post_form[$key] ) {
497
  return true;
498
  }
499
+
500
  }
501
+
502
  }
503
+
504
  return false;
505
  }
506
 
514
  return $fields[$key]['icon'];
515
  return '';
516
  }
517
+
518
  /***
519
  *** @Get Field Type
520
  ***/
525
  return $fields[$key]['type'];
526
  return '';
527
  }
528
+
529
  /***
530
  *** @Get Field Label
531
  ***/
538
  return $fields[$key]['title'];
539
  return '';
540
  }
541
+
542
  /***
543
  *** @Get Field Title
544
  ***/
551
  return $fields[$key]['label'];
552
  return __('Custom Field','ultimatemember');
553
  }
554
+
555
  /***
556
  *** @Get form fields
557
  ***/
560
  $this->fields = apply_filters("um_get_form_fields", $this->fields );
561
  return $this->fields;
562
  }
563
+
564
  /***
565
  *** @Get Field
566
  ***/
567
  function get_field( $key ) {
568
  global $ultimatemember;
569
+
570
  $fields = $this->get_fields();
571
 
572
  if ( isset( $fields ) && is_array( $fields ) && isset( $fields[$key] ) ) {
577
  }
578
  $array = (isset( $ultimatemember->builtin->predefined_fields[$key] ) ) ? $ultimatemember->builtin->predefined_fields[$key] : $ultimatemember->builtin->all_user_fields[$key];
579
  }
580
+
581
  $array['classes'] = null;
582
 
583
  if (!isset($array['placeholder'])) $array['placeholder'] = null;
584
  if (!isset($array['required'])) $array['required'] = null;
585
  if (!isset($array['validate'])) $array['validate'] = null;
586
  if (!isset($array['default'])) $array['default'] = null;
587
+
588
  if ( isset( $array['conditions'] ) && is_array( $array['conditions'] ) && !$this->viewing ) {
589
  $array['conditional'] = '';
590
 
591
  foreach( $array['conditions'] as $cond_id => $cond ) {
592
  $array['conditional'] .= ' data-cond-'.$cond_id.'-action="'. $cond[0] . '" data-cond-'.$cond_id.'-field="'. $cond[1] . '" data-cond-'.$cond_id.'-operator="'. $cond[2] . '" data-cond-'.$cond_id.'-value="'. $cond[3] . '"';
593
  }
594
+
595
  $array['classes'] .= ' um-is-conditional';
596
+
597
  } else {
598
  $array['conditional'] = null;
599
  }
600
+
601
  $array['classes'] .= ' um-field-' . $key;
602
  $array['classes'] .= ' um-field-' . $array['type'];
603
+
604
  switch( $array['type'] ) {
605
 
606
  case 'googlemap':
610
  $array['disabled'] = '';
611
  $array['input'] = 'text';
612
  break;
613
+
614
  case 'text':
615
+
616
  $array['disabled'] = '';
617
+
618
  if ( $key == 'user_login' && $this->set_mode == 'account' ) {
619
  $array['disabled'] = 'disabled="disabled"';
620
  }
621
+
622
  $array['input'] = 'text';
623
 
624
  break;
625
+
626
  case 'password':
627
+
628
  $array['input'] = 'password';
629
 
630
  break;
631
+
632
+ case 'number':
633
+
634
+ $array['disabled'] = '';
635
+
636
+ break;
637
+
638
  case 'url':
639
+
640
  $array['input'] = 'text';
641
 
642
  break;
643
+
644
  case 'date':
645
+
646
  $array['input'] = 'text';
647
+
648
  if ( !isset( $array['format'] ) ) $array['format'] = 'j M Y';
649
+
650
  switch( $array['format'] ) {
651
  case 'j M Y':
652
  $js_format = 'd mmm yyyy';
661
  $js_format = 'mmmm d yyyy';
662
  break;
663
  }
664
+
665
  $array['js_format'] = $js_format;
666
+
667
  if ( !isset( $array['range'] ) ) $array['range'] = 'years';
668
  if ( !isset( $array['years'] ) ) $array['years'] = 100;
669
  if ( !isset( $array['years_x'] ) ) $array['years_x'] = 'past';
670
  if ( !isset( $array['disabled_weekdays'] ) ) $array['disabled_weekdays'] = '';
671
+
672
  if ( !empty( $array['disabled_weekdays'] ) ) {
673
  $array['disabled_weekdays'] = '[' . implode(',',$array['disabled_weekdays']) . ']';
674
  }
675
+
676
  // When date range is strictly defined
677
  if ( $array['range'] == 'date_range' ) {
678
+
679
  $array['date_min'] = str_replace('/',',',$array['range_start']);
680
  $array['date_max'] = str_replace('/',',',$array['range_end']);
681
+
682
  } else {
683
+
684
  if ( $array['years_x'] == 'past' ) {
685
 
686
  $date = new DateTime( date('Y-n-d') );
687
  $past = $date->modify('-'.$array['years'].' years');
688
  $past = $date->format('Y,n,d');
689
+
690
  $array['date_min'] = $past;
691
  $array['date_max'] = date('Y,n,d');
692
+
693
  } else if ( $array['years_x'] == 'future' ) {
694
+
695
  $date = new DateTime( date('Y-n-d') );
696
  $future = $date->modify('+'.$array['years'].' years');
697
  $future = $date->format('Y,n,d');
698
+
699
+ $array['date_min'] = date('Y,n,d');
700
  $array['date_max'] = $future;
701
+
702
  } else {
703
+
704
  $date = new DateTime( date('Y-n-d') );
705
  $date_f = new DateTime( date('Y-n-d') );
706
  $past = $date->modify('-'. ( $array['years'] / 2 ).' years');
707
  $past = $date->format('Y,n,d');
708
  $future = $date_f->modify('+'. ( $array['years'] / 2 ).' years');
709
  $future = $date_f->format('Y,n,d');
710
+
711
+ $array['date_min'] = $past;
712
  $array['date_max'] = $future;
713
 
714
  }
715
 
716
  }
717
+
718
  break;
719
+
720
  case 'time':
721
+
722
  $array['input'] = 'text';
723
+
724
  if ( !isset( $array['format'] ) ) $array['format'] = 'g:i a';
725
+
726
  switch( $array['format'] ) {
727
  case 'g:i a':
728
  $js_format = 'h:i a';
734
  $js_format = 'HH:i';
735
  break;
736
  }
737
+
738
  $array['js_format'] = $js_format;
739
+
740
  if ( !isset( $array['intervals'] ) ) $array['intervals'] = 60;
741
 
742
  break;
743
+
744
  case 'textarea':
745
+
746
  if (!isset($array['height'])) $array['height'] = '100px';
747
+
748
  break;
749
 
750
  case 'rating':
751
+
752
  if (!isset($array['number'])) $array['number'] = 5;
753
+
754
  break;
755
 
756
  case 'spacing':
757
+
758
  if ( !isset($array['spacing'])){
759
  $array['spacing'] = '20px';
760
  }
761
+
762
  break;
763
+
764
  case 'divider':
765
+
766
  if (isset($array['width'])){
767
  $array['borderwidth'] = $array['width'];
768
  } else {
769
  $array['borderwidth'] = 4;
770
  }
771
+
772
  if (isset($array['color'])){
773
  $array['bordercolor'] = $array['color'];
774
  } else {
775
  $array['bordercolor'] = '#eee';
776
  }
777
+
778
  if (isset($array['style'])){
779
  $array['borderstyle'] = $array['style'];
780
  } else {
781
  $array['borderstyle'] = 'solid';
782
  }
783
+
784
  if ( !isset( $array['divider_text'] ) ) {
785
  $array['divider_text'] = '';
786
  }
787
+
788
  break;
789
 
790
  case 'image':
791
+
792
  if ( !isset( $array['crop'] ) ) $array['crop'] = 0;
793
+
794
  if ( $array['crop'] == 0 ) {
795
  $array['crop_data'] = 0;
796
  } else if ( $array['crop'] == 1 ) {
800
  } else {
801
  $array['crop_data'] = 'user';
802
  }
803
+
804
  if ( !isset( $array['modal_size'] ) ) $array['modal_size'] = 'normal';
805
+
806
  if ( $array['crop'] > 0 ) {
807
  $array['crop_class'] = 'crop';
808
  } else {
809
  $array['crop_class'] = '';
810
  }
811
+
812
  if ( !isset( $array['ratio'] ) ) $array['ratio'] = 1.0;
813
+
814
  if ( !isset( $array['min_width'] ) ) $array['min_width'] = '';
815
  if ( !isset( $array['min_height'] ) ) $array['min_height'] = '';
816
+
817
  if ( $array['min_width'] == '' && $array['crop'] == 1 ) $array['min_width'] = 600;
818
  if ( $array['min_height'] == '' && $array['crop'] == 1 ) $array['min_height'] = 600;
819
+
820
  if ( $array['min_width'] == '' && $array['crop'] == 3 ) $array['min_width'] = 600;
821
  if ( $array['min_height'] == '' && $array['crop'] == 3 ) $array['min_height'] = 600;
822
+
823
  if (!isset($array['invalid_image'])) $array['invalid_image'] = __("Please upload a valid image!",'ultimatemember');
824
  if (!isset($array['allowed_types'])) {
825
  $array['allowed_types'] = "gif,jpg,jpeg,png";
839
  break;
840
 
841
  case 'file':
842
+
843
  if ( !isset( $array['modal_size'] ) ) $array['modal_size'] = 'normal';
844
+
845
  if (!isset($array['allowed_types'])) {
846
  $array['allowed_types'] = "pdf,txt";
847
  } else {
860
  break;
861
 
862
  case 'select':
863
+
864
  break;
865
+
866
  case 'multiselect':
867
+
868
  break;
869
+
870
  case 'group':
871
+
872
  if ( !isset( $array['max_entries'] ) ) $array['max_entries'] = 0;
873
+
874
  break;
875
+
876
  }
877
+
878
  if ( !isset( $array['visibility'] ) ) $array['visibility'] = 'all';
879
+
880
  return $array;
881
  }
882
+
883
  /***
884
  *** @a field in input mode
885
  ***/
886
  function edit_field( $key, $data, $rule=false ) {
887
  global $ultimatemember;
888
+
889
  $output = null;
890
+
891
  // get whole field data
892
  if ( isset( $data ) && is_array( $data ) ) {
893
  $data = $this->get_field($key);
894
  extract($data);
895
  }
896
+
897
  if ( !isset( $data['type'] ) ) return;
898
+
899
  if ( isset( $data['in_group'] ) && $data['in_group'] != '' && $rule != 'group' ) return;
900
+
901
  if ( $visibility == 'view' ) return;
902
+
903
  if ( !um_can_view_field( $data ) ) return;
904
  if ( !um_can_edit_field( $data ) ) return;
905
+
906
  // fields that need to be disabled in edit mode (profile)
907
  if ( in_array( $key, array('user_email','username','user_login','user_password') ) && $this->editing == true && $this->set_mode == 'profile' ) {
908
  return;
909
  }
910
+
911
  // forbidden in edit mode?
912
  if ( isset( $data['edit_forbidden'] ) ) return;
913
+
914
  // required option
915
  if ( isset( $data['required_opt'] ) ) {
916
  $opt = $data['required_opt'];
918
  return;
919
  }
920
  }
921
+
922
  // required user permission
923
  if ( isset( $data['required_perm'] ) ) {
924
  if ( !um_user( $data['required_perm'] ) ) {
925
  return;
926
  }
927
  }
928
+
929
  // do not show passwords
930
  if ( isset( $ultimatemember->user->preview ) && $ultimatemember->user->preview ) {
931
  if ( $data['type'] == 'password' ){
937
 
938
  /* Begin by field type */
939
  switch( $type ) {
940
+
941
  /* Default: Integration */
942
  default:
943
  $mode = (isset($this->set_mode))?$this->set_mode:'no_mode';
944
  $output .= apply_filters("um_edit_field_{$mode}_{$type}", $output, $data);
945
  break;
946
+
947
  /* Other fields */
948
  case 'googlemap':
949
  case 'youtube_video':
951
  case 'soundcloud_track':
952
 
953
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
954
+
955
  if ( isset( $data['label'] ) ) {
956
  $output .= $this->field_label($label, $key, $data);
957
  }
958
 
959
  $output .= '<div class="um-field-area">';
960
+
961
  if ( isset($icon) && $icon && isset( $this->field_icons ) && $this->field_icons == 'field' ) {
962
+
963
  $output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
964
+
965
  }
966
+
967
  $output .= '<input '.$disabled.' class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. htmlspecialchars( $this->field_value( $key, $default, $data ) ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" />
968
+
969
  </div>';
970
+
971
  if ( $this->is_error($key) ) {
972
  $output .= $this->field_error( $this->show_error($key) );
973
  }
974
+
975
  $output .= '</div>';
976
  break;
977
 
979
  case 'text':
980
 
981
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
982
+
983
  if ( isset( $data['label'] ) ) {
984
  $output .= $this->field_label($label, $key, $data);
985
  }
986
 
987
  $output .= '<div class="um-field-area">';
988
+
989
  if ( isset($icon) && $icon && isset( $this->field_icons ) && $this->field_icons == 'field' ) {
990
+
991
  $output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
992
+
993
  }
994
+
995
  $output .= '<input '.$disabled.' class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. htmlspecialchars( $this->field_value( $key, $default, $data ) ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" />
996
+
997
  </div>';
998
+
999
  if ( $this->is_error($key) ) {
1000
  $output .= $this->field_error( $this->show_error($key) );
1001
  }
1002
+
1003
  $output .= '</div>';
1004
  break;
1005
+
1006
+ /* Number */
1007
+ case 'number':
1008
+
1009
+ $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
1010
+
1011
+ if ( isset( $data['label'] ) ) {
1012
+ $output .= $this->field_label($label, $key, $data);
1013
+ }
1014
+
1015
+ $output .= '<div class="um-field-area">';
1016
+
1017
+ if ( isset($icon) && $icon && isset( $this->field_icons ) && $this->field_icons == 'field' ) {
1018
+
1019
+ $output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
1020
+
1021
+ }
1022
+
1023
+ $output .= '<input '.$disabled.' class="'.$this->get_class($key, $data).'" type="number" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. htmlspecialchars( $this->field_value( $key, $default, $data ) ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" min="' . $min . '" max="' . $max . '" />
1024
+
1025
+ </div>';
1026
+
1027
+ if ( $this->is_error($key) ) {
1028
+ $output .= $this->field_error( $this->show_error($key) );
1029
+ }
1030
+
1031
+ $output .= '</div>';
1032
+ break;
1033
+
1034
  /* Password */
1035
  case 'password':
1036
+
1037
  $original_key = $key;
1038
+
1039
  if ( $key == 'single_user_password' ) {
1040
+
1041
  $key = $original_key;
1042
+
1043
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
1044
 
1045
  if ( isset( $data['label'] ) ) {
1047
  }
1048
 
1049
  $output .= '<div class="um-field-area">';
1050
+
1051
  if ( isset($icon) && $icon && $this->field_icons == 'field' ) {
1052
+
1053
  $output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
1054
+
1055
  }
1056
+
1057
  $output .= '<input class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. $this->field_value( $key, $default, $data ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" />
1058
+
1059
  </div>';
1060
+
1061
  if ( $this->is_error($key) ) {
1062
  $output .= $this->field_error( $this->show_error($key) );
1063
  }
1064
+
1065
  $output .= '</div>';
1066
+
1067
  } else {
1068
+
1069
  if ( $this->set_mode == 'account' && um_is_core_page('account') ) {
1070
 
1071
  $key = 'current_' . $original_key;
1072
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
1073
+
1074
  if ( isset( $data['label'] ) ) {
1075
  $output .= $this->field_label( __('Current Password','ultimatemember'), $key, $data);
1076
  }
1077
+
1078
  $output .= '<div class="um-field-area">';
1079
+
1080
  if ( isset($icon) && $icon && $this->field_icons == 'field' ) {
1081
+
1082
  $output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
1083
+
1084
  }
1085
+
1086
  $output .= '<input class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="' . $this->field_value( $key, $default, $data ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" />
1087
+
1088
  </div>';
1089
+
1090
  if ( $this->is_error($key) ) {
1091
  $output .= $this->field_error( $this->show_error($key) );
1092
  }
1093
+
1094
  $output .= '</div>';
1095
+
1096
  }
1097
 
1098
  $key = $original_key;
1099
+
1100
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
1101
 
1102
  if ( $this->set_mode == 'account' && um_is_core_page('account') || $this->set_mode == 'password' && um_is_core_page('password-reset') ) {
1103
+
1104
  $output .= $this->field_label( __('New Password','ultimatemember'), $key, $data);
1105
+
1106
  } else if ( isset( $data['label'] ) ) {
1107
+
1108
  $output .= $this->field_label($label, $key, $data);
1109
+
1110
  }
1111
 
1112
  $output .= '<div class="um-field-area">';
1113
+
1114
  if ( isset($icon) && $icon && $this->field_icons == 'field' ) {
1115
+
1116
  $output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
1117
+
1118
  }
1119
+
1120
  $output .= '<input class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. $this->field_value( $key, $default, $data ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" />
1121
+
1122
  </div>';
1123
+
1124
  if ( $this->is_error($key) ) {
1125
  $output .= $this->field_error( $this->show_error($key) );
1126
  }
1127
+
1128
  $output .= '</div>';
1129
+
1130
  if ( $this->set_mode != 'login' && isset( $data['force_confirm_pass'] ) && $data['force_confirm_pass'] == 1 ) {
1131
 
1132
  $key = 'confirm_' . $original_key;
1133
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
1134
+
1135
  if ( isset( $data['label'] ) ) {
1136
  $output .= $this->field_label( sprintf(__('Confirm %s','ultimatemember'), $data['label'] ), $key, $data);
1137
  }
1138
+
1139
  $output .= '<div class="um-field-area">';
1140
+
1141
  if ( isset($icon) && $icon && $this->field_icons == 'field' ) {
1142
+
1143
  $output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
1144
+
1145
  }
1146
+
1147
  $output .= '<input class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="' . $this->field_value( $key, $default, $data ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" />
1148
+
1149
  </div>';
1150
+
1151
  if ( $this->is_error($key) ) {
1152
  $output .= $this->field_error( $this->show_error($key) );
1153
  }
1154
+
1155
  $output .= '</div>';
1156
+
1157
  }
1158
+
1159
  }
1160
+
1161
  break;
1162
+
1163
  /* URL */
1164
  case 'url':
1165
+
1166
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
1167
+
1168
  if ( isset( $data['label'] ) ) {
1169
  $output .= $this->field_label($label, $key, $data);
1170
  }
1171
 
1172
  $output .= '<div class="um-field-area">';
1173
+
1174
  if ( isset($icon) && $icon && isset($this->field_icons) && $this->field_icons == 'field' ) {
1175
+
1176
  $output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
1177
+
1178
  }
1179
+
1180
  $output .= '<input class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. $this->field_value( $key, $default, $data ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" />
1181
+
1182
  </div>';
1183
+
1184
  if ( $this->is_error($key) ) {
1185
  $output .= $this->field_error( $this->show_error($key) );
1186
  }
1187
+
1188
  $output .= '</div>';
1189
  break;
1190
+
1191
  /* Date */
1192
  case 'date':
1193
+
1194
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
1195
+
1196
  if ( isset( $data['label'] ) ) {
1197
  $output .= $this->field_label($label, $key, $data);
1198
  }
1199
 
1200
  $output .= '<div class="um-field-area">';
1201
+
1202
  if ( isset($icon) && $icon && isset( $this->field_icons ) && $this->field_icons == 'field' ) {
1203
+
1204
  $output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
1205
+
1206
  }
1207
+
1208
  $output .= '<input class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. $this->field_value( $key, $default, $data ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" data-range="'.$range.'" data-years="'.$years.'" data-years_x="'.$years_x.'" data-disabled_weekdays="'.$disabled_weekdays.'" data-date_min="'.$date_min.'" data-date_max="'.$date_max.'" data-format="'.$js_format.'" data-value="'. $this->field_value( $key, $default, $data ) .'" />
1209
+
1210
  </div>';
1211
+
1212
  if ( $this->is_error($key) ) {
1213
  $output .= $this->field_error( $this->show_error($key) );
1214
  }
1215
+
1216
  $output .= '</div>';
1217
  break;
1218
+
1219
  /* Time */
1220
  case 'time':
1221
+
1222
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
1223
+
1224
  if ( isset( $data['label'] ) ) {
1225
  $output .= $this->field_label($label, $key, $data);
1226
  }
1227
 
1228
  $output .= '<div class="um-field-area">';
1229
+
1230
  if ( isset($icon) && $icon && $this->field_icons == 'field' ) {
1231
+
1232
  $output .= '<div class="um-field-icon"><i class="'.$icon.'"></i></div>';
1233
+
1234
  }
1235
+
1236
  $output .= '<input class="'.$this->get_class($key, $data).'" type="'.$input.'" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. $this->field_value( $key, $default, $data ) .'" placeholder="'.$placeholder.'" data-validate="'.$validate.'" data-key="'.$key.'" data-format="'.$js_format.'" data-intervals="'.$intervals.'" data-value="'. $this->field_value( $key, $default, $data ) .'" />
1237
+
1238
  </div>';
1239
+
1240
  if ( $this->is_error($key) ) {
1241
  $output .= $this->field_error( $this->show_error($key) );
1242
  }
1243
+
1244
  $output .= '</div>';
1245
  break;
1246
+
1247
  /* Row */
1248
  case 'row':
1249
  $output .= '';
1250
  break;
1251
+
1252
  /* Textarea */
1253
  case 'textarea':
1254
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
1255
+
1256
  if ( isset( $data['label'] ) ) {
1257
  $output .= $this->field_label($label, $key, $data);
1258
  }
1259
+
1260
  $output .= '<div class="um-field-area">';
1261
 
1262
+ if ( isset( $data['html'] ) && $data['html'] != 0 && $key != "description" ) {
1263
+
1264
+
1265
+ $textarea_settings = array(
1266
+ 'media_buttons' => false,
1267
+ 'wpautop' => false,
1268
+ 'editor_class' => $this->get_class($key, $data),
1269
+ 'editor_height' => $height,
1270
+ 'tinymce'=> array(
1271
+ 'toolbar1' => 'formatselect,bullist,numlist,bold,italic,underline,forecolor,blockquote,hr,removeformat,link,unlink,undo,redo',
1272
+ 'toolbar2' => ''
1273
+ )
1274
+ );
1275
+
1276
+ // turn on the output buffer
1277
+ ob_start();
1278
+
1279
+ // echo the editor to the buffer
1280
+ wp_editor( $this->field_value( $key, $default, $data ) , $key, $textarea_settings );
1281
+
1282
+ // add the contents of the buffer to the output variable
1283
+ $output .= ob_get_clean();
1284
+
1285
+ }
1286
+ else $output .= '<textarea style="height: '.$height.';" class="'.$this->get_class($key, $data).'" name="'.$key.'" id="'.$key.'" placeholder="'.$placeholder.'">'.$this->field_value( $key, $default, $data ).'</textarea>';
1287
+
1288
+ $output .= '
1289
  </div>';
1290
+
1291
  if ( $this->is_error($key) ) {
1292
  $output .= $this->field_error( $this->show_error($key) );
1293
  }
1294
+
1295
  $output .= '</div>';
1296
  break;
1297
+
1298
  /* Rating */
1299
  case 'rating':
1300
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
1301
+
1302
  if ( isset( $data['label'] ) ) {
1303
  $output .= $this->field_label($label, $key, $data);
1304
  }
1305
+
1306
  $output .= '<div class="um-field-area">';
1307
+
1308
  $output .= '<div class="um-rating um-raty" id="'.$key.'" data-key="'.$key.'" data-number="'.$data['number'].'" data-score="' . $this->field_value( $key, $default, $data ) . '"></div>';
1309
+
1310
  $output .= '</div>';
1311
+
1312
  $output .= '</div>';
1313
+
1314
  break;
1315
+
1316
  /* Gap/Space */
1317
  case 'spacing':
1318
  $output .= '<div class="um-field um-field-spacing' . $classes . '"' . $conditional . ' style="height: '.$spacing.'"></div>';
1319
  break;
1320
+
1321
  /* A line divider */
1322
  case 'divider':
1323
  $output .= '<div class="um-field um-field-divider' . $classes . '"' . $conditional . ' style="border-bottom: '.$borderwidth.'px '.$borderstyle.' '.$bordercolor.'">';
1326
  }
1327
  $output .= '</div>';
1328
  break;
1329
+
1330
  /* Single Image Upload */
1331
  case 'image':
1332
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
1333
+
1334
  if ( in_array( $key, array('profile_photo','cover_photo') ) ) {
1335
  $field_value = '';
1336
  } else {
1337
  $field_value = $this->field_value( $key, $default, $data );
1338
  }
1339
+
1340
  $output .= '<input type="hidden" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. $field_value . '" />';
1341
+
1342
  if ( isset( $data['label'] ) ) {
1343
  $output .= $this->field_label($label, $key, $data);
1344
  }
1345
+
1346
  $modal_label = ( isset( $data['label'] ) ) ? $data['label'] : __('Upload Photo','ultimatemember');
1347
 
1348
  $output .= '<div class="um-field-area" style="text-align: center">';
1349
+
1350
  if ( $this->field_value( $key, $default, $data ) ) {
1351
+
1352
  if ( !in_array( $key, array('profile_photo','cover_photo') ) ) {
1353
  if ( isset( $this->set_mode ) && $this->set_mode == 'register' ) {
1354
  $imgValue = $this->field_value( $key, $default, $data );
1359
  } else {
1360
  $img = '';
1361
  }
1362
+
1363
  $output .= '<div class="um-single-image-preview show '. $crop_class .'" data-crop="'.$crop_data.'" data-key="'.$key.'">
1364
  <a href="#" class="cancel"><i class="um-icon-close"></i></a>' . $img . '
1365
  </div><a href="#" data-modal="um_upload_single" data-modal-size="'.$modal_size.'" data-modal-copy="1" class="um-button um-btn-auto-width">'. __('Change photo','ultimatemember') . '</a>';
1366
+
1367
  } else {
1368
+
1369
  $output .= '<div class="um-single-image-preview '. $crop_class .'" data-crop="'.$crop_data.'" data-key="'.$key.'">
1370
  <a href="#" class="cancel"><i class="um-icon-close"></i></a>
1371
  <img src="" alt="" />
1372
  </div><a href="#" data-modal="um_upload_single" data-modal-size="'.$modal_size.'" data-modal-copy="1" class="um-button um-btn-auto-width">'. $button_text . '</a>';
1373
+
1374
  }
1375
+
1376
  $output .= '</div>';
1377
 
1378
  /* modal hidden */
1379
  $output .= '<div class="um-modal-hidden-content">';
1380
 
1381
  $output .= '<div class="um-modal-header"> ' . $modal_label . '</div>';
1382
+
1383
  $output .= '<div class="um-modal-body">';
1384
+
1385
  if ( isset( $this->set_id ) ) {
1386
  $set_id = $this->set_id;
1387
  $set_mode = $this->set_mode;
1389
  $set_id = 0;
1390
  $set_mode = '';
1391
  }
1392
+
1393
  $output .= '<div class="um-single-image-preview '. $crop_class .'" data-crop="'.$crop_data.'" data-ratio="'.$ratio.'" data-min_width="'.$min_width.'" data-min_height="'.$min_height.'" data-coord=""><a href="#" class="cancel"><i class="um-icon-close"></i></a><img src="" alt="" /></div>';
1394
  $output .= '<div class="um-single-image-upload" data-icon="'.$icon.'" data-set_id="'.$set_id.'" data-set_mode="'.$set_mode.'" data-type="'.$type.'" data-key="'.$key.'" data-max_size="'.$max_size.'" data-max_size_error="'.$max_size_error.'" data-min_size_error="'.$min_size_error.'" data-extension_error="'.$extension_error.'" data-allowed_types="'.$allowed_types.'" data-upload_text="'.$upload_text.'" data-max_files_error="'.$max_files_error.'" data-upload_help_text="'.$upload_help_text.'">'.$button_text.'</div>';
1395
+
1396
  $output .= '<div class="um-modal-footer">
1397
  <div class="um-modal-right">
1398
  <a href="#" class="um-modal-btn um-finish-upload image disabled" data-key="'.$key.'" data-change="'.__('Change photo','ultimatemember').'" data-processing="'.__('Processing...','ultimatemember').'"> ' . __('Apply','ultimatemember') . '</a>
1400
  </div>
1401
  <div class="um-clear"></div>
1402
  </div>';
1403
+
1404
  $output .= '</div>';
1405
+
1406
  $output .= '</div>';
1407
+
1408
  /* end */
1409
+
1410
  if ( $this->is_error($key) ) {
1411
  $output .= $this->field_error( $this->show_error($key) );
1412
  }
1413
+
1414
  $output .= '</div>';
1415
+
1416
  break;
1417
+
1418
  /* Single File Upload */
1419
  case 'file':
1420
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
1421
+
1422
  $output .= '<input type="hidden" name="'.$key.$ultimatemember->form->form_suffix.'" id="'.$key.$ultimatemember->form->form_suffix.'" value="'. $this->field_value( $key, $default, $data ) . '" />';
1423
+
1424
  if ( isset( $data['label'] ) ) {
1425
  $output .= $this->field_label($label, $key, $data);
1426
  }
1427
+
1428
  $modal_label = ( isset( $data['label'] ) ) ? $data['label'] : __('Upload Photo','ultimatemember');
1429
+
1430
  $output .= '<div class="um-field-area" style="text-align: center">';
1431
+
1432
  if ( $this->field_value( $key, $default, $data ) ) {
1433
+
1434
  $extension = pathinfo( $this->field_value( $key, $default, $data ), PATHINFO_EXTENSION);
1435
+
1436
  $output .= '<div class="um-single-file-preview show" data-key="'.$key.'">
1437
  <a href="#" class="cancel"><i class="um-icon-close"></i></a>
1438
  <div class="um-single-fileinfo">
1442
  </a>
1443
  </div>
1444
  </div><a href="#" data-modal="um_upload_single" data-modal-size="'.$modal_size.'" data-modal-copy="1" class="um-button um-btn-auto-width">'. __('Change file','ultimatemember') . '</a>';
1445
+
1446
  } else {
1447
+
1448
  $output .= '<div class="um-single-file-preview" data-key="'.$key.'">
1449
  </div><a href="#" data-modal="um_upload_single" data-modal-size="'.$modal_size.'" data-modal-copy="1" class="um-button um-btn-auto-width">'. $button_text . '</a>';
1450
+
1451
  }
1452
 
1453
  $output .= '</div>';
1456
  $output .= '<div class="um-modal-hidden-content">';
1457
 
1458
  $output .= '<div class="um-modal-header"> ' . $modal_label . '</div>';
1459
+
1460
  $output .= '<div class="um-modal-body">';
1461
+
1462
  if ( isset( $this->set_id ) ) {
1463
  $set_id = $this->set_id;
1464
  $set_mode = $this->set_mode;
1466
  $set_id = 0;
1467
  $set_mode = '';
1468
  }
1469
+
1470
  $output .= '<div class="um-single-file-preview">
1471
  <a href="#" class="cancel"><i class="um-icon-close"></i></a>
1472
  <div class="um-single-fileinfo">
1477
  </div>
1478
  </div>';
1479
  $output .= '<div class="um-single-file-upload" data-icon="'.$icon.'" data-set_id="'.$set_id.'" data-set_mode="'.$set_mode.'" data-type="'.$type.'" data-key="'.$key.'" data-max_size="'.$max_size.'" data-max_size_error="'.$max_size_error.'" data-min_size_error="'.$min_size_error.'" data-extension_error="'.$extension_error.'" data-allowed_types="'.$allowed_types.'" data-upload_text="'.$upload_text.'" data-max_files_error="'.$max_files_error.'" data-upload_help_text="'.$upload_help_text.'">'.$button_text.'</div>';
1480
+
1481
  $output .= '<div class="um-modal-footer">
1482
  <div class="um-modal-right">
1483
  <a href="#" class="um-modal-btn um-finish-upload file disabled" data-key="'.$key.'" data-change="'.__('Change file').'" data-processing="'.__('Processing...','ultimatemember').'"> ' . __('Save','ultimatemember') . '</a>
1485
  </div>
1486
  <div class="um-clear"></div>
1487
  </div>';
1488
+
1489
  $output .= '</div>';
1490
+
1491
  $output .= '</div>';
1492
+
1493
  /* end */
1494
+
1495
  if ( $this->is_error($key) ) {
1496
  $output .= $this->field_error( $this->show_error($key) );
1497
  }
1498
+
1499
  $output .= '</div>';
1500
+
1501
  break;
1502
+
1503
  /* Select dropdown */
1504
  case 'select':
1505
+
1506
  $form_key = str_replace('role_select','role',$key);
1507
+
1508
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
1509
 
1510
  if ( isset( $data['allowclear'] ) && $data['allowclear'] == 0 ) {
1512
  } else {
1513
  $class = 'um-s1';
1514
  }
1515
+
1516
  if ( isset( $data['label'] ) ) {
1517
  $output .= $this->field_label($label, $key, $data);
1518
  }
1519
 
1520
  $output .= '<div class="um-field-area">';
1521
+
1522
  $output .= '<select name="'.$form_key.'" id="'.$form_key.'" data-validate="'.$validate.'" data-key="'.$key.'" class="'.$this->get_class($key, $data, $class).'" style="width: 100%" data-placeholder="'.$placeholder.'">';
1523
+
1524
  if ( isset($options) && $options == 'builtin'){
1525
  $options = $ultimatemember->builtin->get ( $filter );
1526
  }
1527
+
1528
  if (!isset($options)){
1529
  $options = $ultimatemember->builtin->get ( 'countries' );
1530
  }
1531
 
1532
+ if ( isset( $options ) ) {
1533
+ $options = apply_filters('um_select_dropdown_dynamic_options', $options, $data );
1534
+ $options = apply_filters("um_select_dropdown_dynamic_options_{$key}", $options );
1535
+ }
1536
 
 
1537
  // role field
1538
  if ( $form_key == 'role' ) {
1539
+
1540
  global $wpdb;
1541
  foreach($options as $key => $val ) {
1542
  $val = (string) $val;
1546
  $new_roles[$_role->post_name] = $_role->post_title;
1547
  wp_reset_postdata();
1548
  }
1549
+
1550
  $options = $new_roles;
1551
  }
1552
+
1553
+
1554
  // add an empty option!
1555
  $output .= '<option value=""></option>';
1556
 
1557
  // add options
1558
  foreach($options as $k => $v) {
1559
+
1560
  $v = rtrim($v);
1561
+
1562
  if ( !is_numeric( $k ) && in_array($form_key, array('role') ) ) {
1563
  $option_value = $k;
1564
  } else {
1565
  $option_value = $v;
1566
  }
1567
+
1568
  if ( isset( $options_pair ) ) {
1569
  $option_value = $k;
1570
  }
1571
+
1572
  $output .= '<option value="'.$option_value.'" ';
1573
+ if ( $this->is_selected($form_key, $option_value, $data) ) {
1574
  $output.= 'selected';
1575
  }
1576
  $output .= '>'.$v.'</option>';
1577
+
1578
  }
1579
+
1580
  $output .= '</select>';
1581
+
1582
  $output .= '</div>';
1583
+
1584
  if ( $this->is_error($form_key) ) {
1585
  $output .= $this->field_error( $this->show_error($form_key) );
1586
  }
1587
+
1588
  $output .= '</div>';
1589
  break;
1590
+
1591
  /* Multi-Select dropdown */
1592
  case 'multiselect':
1593
+
1594
  $max_selections = ( isset( $max_selections ) ) ? absint( $max_selections ) : 0;
1595
+
1596
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
1597
 
1598
  if ( isset( $data['allowclear'] ) && $data['allowclear'] == 0 ) {
1600
  } else {
1601
  $class = 'um-s1';
1602
  }
1603
+
1604
  if ( isset( $data['label'] ) ) {
1605
  $output .= $this->field_label($label, $key, $data);
1606
  }
1607
 
1608
  $output .= '<div class="um-field-area">';
1609
+
1610
  $output .= '<select multiple="multiple" name="'.$key.'[]" id="'.$key.'" data-maxsize="'. $max_selections . '" data-validate="'.$validate.'" data-key="'.$key.'" class="'.$this->get_class($key, $data, $class).'" style="width: 100%" data-placeholder="'.$placeholder.'">';
1611
+
1612
  if ( isset($options) && $options == 'builtin'){
1613
  $options = $ultimatemember->builtin->get ( $filter );
1614
  }
1617
  $options = $ultimatemember->builtin->get ( 'countries' );
1618
  }
1619
 
1620
+ if ( isset( $options ) ) {
1621
+ $options = apply_filters('um_multiselect_options', $options, $data );
1622
+ $options = apply_filters("um_multiselect_options_{$key}", $options );
1623
+ $options = apply_filters("um_multiselect_options_{$data['type']}", $options, $data );
1624
+ }
1625
+
1626
  // add an empty option!
1627
  $output .= '<option value=""></option>';
1628
+
1629
  // add options
1630
  foreach($options as $k => $v) {
1631
+
1632
  $v = rtrim($v);
1633
+
1634
  $use_keyword = apply_filters('um_multiselect_option_value', 0, $data['type'] );
1635
+
1636
  if ( $use_keyword ) {
1637
  $opt_value = $k;
1638
  } else {
1639
  $opt_value = $v;
1640
  }
1641
+
1642
  $output .= '<option value="'.$opt_value.'" ';
1643
+ if ( $this->is_selected($key, $opt_value, $data) ) {
1644
  $output.= 'selected';
1645
  }
1646
  $output .= '>'.$v.'</option>';
1647
+
1648
  }
1649
+
1650
  $output .= '</select>';
1651
+
1652
  $output .= '</div>';
1653
+
1654
  if ( $this->is_error($key) ) {
1655
  $output .= $this->field_error( $this->show_error($key) );
1656
  }
1657
+
1658
  $output .= '</div>';
1659
  break;
1660
+
1661
  /* Radio */
1662
  case 'radio':
1663
+
1664
  $form_key = str_replace('role_radio','role',$key);
1665
+
1666
+ if ( isset( $options ) ) {
1667
+ $options = apply_filters('um_radio_field_options', $options, $data );
1668
+ $options = apply_filters("um_radio_field_options_{$key}", $options );
1669
+ }
1670
+
1671
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
1672
+
1673
  if ( isset( $data['label'] ) ) {
1674
  $output .= $this->field_label($label, $key, $data);
1675
  }
1676
+
1677
  $output .= '<div class="um-field-area">';
1678
 
1679
  // role field
1680
  if ( $form_key == 'role' ) {
1681
+
1682
  global $wpdb;
1683
  foreach($options as $key => $val ) {
1684
  $val = (string) $val;
1688
  $new_roles[$_role->post_name] = $_role->post_title;
1689
  wp_reset_postdata();
1690
  }
1691
+
1692
  $options = $new_roles;
1693
  }
1694
+
1695
  // add options
1696
  $i = 0;
1697
 
1698
  foreach($options as $k => $v) {
1699
+
1700
  $v = rtrim($v);
1701
+
1702
  if ( !is_numeric( $k ) && in_array($form_key, array('role') ) ) {
1703
  $option_value = $k;
1704
  } else {
1705
  $option_value = $v;
1706
  }
1707
+
1708
  $i++;
1709
  if ($i % 2 == 0 ) {
1710
  $col_class = 'right';
1711
  } else {
1712
  $col_class = '';
1713
  }
1714
+
1715
  if ( $this->is_radio_checked($key, $option_value, $data) ) {
1716
  $active = 'active';
1717
  $class = "um-icon-android-radio-button-on";
1719
  $active = '';
1720
  $class = "um-icon-android-radio-button-off";
1721
  }
1722
+
1723
  $output .= '<label class="um-field-radio '.$active.' um-field-half '.$col_class.'">';
1724
  $output .= '<input type="radio" name="'.$form_key.'" value="'.$option_value.'" ';
1725
+
1726
  if ( $this->is_radio_checked($key, $option_value, $data) ) {
1727
  $output.= 'checked';
1728
  }
1731
  $output .= '<span class="um-field-radio-state"><i class="'.$class.'"></i></span>';
1732
  $output .= '<span class="um-field-radio-option">'.$v.'</span>';
1733
  $output .= '</label>';
1734
+
1735
  if ($i % 2 == 0) {
1736
  $output .= '<div class="um-clear"></div>';
1737
  }
1738
 
1739
  }
1740
+
1741
  $output .= '<div class="um-clear"></div>';
1742
+
1743
  $output .= '</div>';
1744
+
1745
  if ( $this->is_error($form_key) ) {
1746
  $output .= $this->field_error( $this->show_error($form_key) );
1747
  }
1748
+
1749
  $output .= '</div>';
1750
  break;
1751
+
1752
  /* Checkbox */
1753
  case 'checkbox':
1754
+
1755
+ if ( isset( $options ) ) {
1756
+ $options = apply_filters('um_checkbox_field_options', $options, $data );
1757
+ $options = apply_filters("um_checkbox_field_options_{$key}", $options );
1758
+ }
1759
+
1760
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
1761
+
1762
  if ( isset( $data['label'] ) ) {
1763
  $output .= $this->field_label($label, $key, $data);
1764
  }
1765
+
1766
  $output .= '<div class="um-field-area">';
1767
+
1768
  // add options
1769
  $i = 0;
1770
+
1771
  foreach($options as $k => $v) {
1772
+
1773
  $v = rtrim($v);
1774
+
1775
  $i++;
1776
  if ($i % 2 == 0 ) {
1777
  $col_class = 'right';
1778
  } else {
1779
  $col_class = '';
1780
  }
1781
+
1782
  if ( $this->is_selected($key, $v, $data) ) {
1783
  $active = 'active';
1784
  $class = "um-icon-android-checkbox-outline";
1786
  $active = '';
1787
  $class = "um-icon-android-checkbox-outline-blank";
1788
  }
1789
+
1790
  $output .= '<label class="um-field-checkbox '.$active.' um-field-half '.$col_class.'">';
1791
  $output .= '<input type="checkbox" name="'.$key.'[]" value="'.strip_tags( $v ).'" ';
1792
+
1793
+ if ( $this->is_selected($key, $v, $data) ) {
1794
  $output.= 'checked';
1795
  }
1796
+
1797
  $output .= ' />';
1798
+
1799
  $output .= '<span class="um-field-checkbox-state"><i class="'.$class.'"></i></span>';
1800
  $output .= '<span class="um-field-checkbox-option">'. $v .'</span>';
1801
  $output .= '</label>';
1802
+
1803
  if ($i % 2 == 0) {
1804
  $output .= '<div class="um-clear"></div>';
1805
  }
1806
+
1807
  }
1808
+
1809
  $output .= '<div class="um-clear"></div>';
1810
+
1811
  $output .= '</div>';
1812
+
1813
  if ( $this->is_error($key) ) {
1814
  $output .= $this->field_error( $this->show_error($key) );
1815
  }
1816
+
1817
  $output .= '</div>';
1818
  break;
1819
+
1820
  /* HTML */
1821
  case 'block':
1822
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">
1823
  <div class="um-field-block">'.$content.'</div>
1824
  </div>';
1825
  break;
1826
+
1827
  /* Shortcode */
1828
  case 'shortcode':
1829
+
1830
  $content = str_replace('{profile_id}', um_profile_id(), $content );
1831
+
1832
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">
1833
  <div class="um-field-shortcode">' . do_shortcode($content) . '</div>
1834
  </div>';
1835
  break;
1836
+
1837
  /* Unlimited Group */
1838
  case 'group':
1839
+
1840
  $fields = $this->get_fields_in_group( $key );
1841
  if ( !empty( $fields ) ) {
1842
+
1843
  $output .= '<div class="um-field-group" data-max_entries="'.$max_entries.'">
1844
  <div class="um-field-group-head"><i class="um-icon-plus"></i>'.$label.'</div>';
1845
  $output .= '<div class="um-field-group-body"><a href="#" class="um-field-group-cancel"><i class="um-icon-close"></i></a>';
1846
+
1847
  foreach($fields as $subkey => $subdata) {
1848
  $output .= $this->edit_field( $subkey, $subdata, 'group' );
1849
  }
1850
+
1851
  $output .= '</div>';
1852
  $output .= '</div>';
1853
+
1854
  }
1855
+
1856
  break;
1857
+
1858
  }
1859
+
1860
  // Custom filter for field output
1861
  if ( isset( $this->set_mode ) ) {
1862
  $output = apply_filters("um_{$key}_form_edit_field", $output, $this->set_mode);
1863
  }
1864
+
1865
  return $output;
1866
  }
1867
+
1868
  /***
1869
  *** @sort array function
1870
  ***/
1879
  array_multisort($sort_col, $dir, $arr);
1880
  return $arr;
1881
  }
1882
+
1883
  /***
1884
  *** @get fields in row
1885
  ***/
1891
  }
1892
  return ( isset ( $results ) ) ? $results : '';
1893
  }
1894
+
1895
  /***
1896
  *** @get fields by sub row
1897
  ***/
1904
  }
1905
  return ( isset ( $results ) ) ? $results : '';
1906
  }
1907
+
1908
  /***
1909
  *** @get fields in group
1910
  ***/
1916
  }
1917
  return ( isset ( $results ) ) ? $results : '';
1918
  }
1919
+
1920
  /***
1921
  *** @get fields in column
1922
  ***/
1928
  }
1929
  return ( isset ( $results ) ) ? $results : '';
1930
  }
1931
+
1932
  /***
1933
  *** @display fields
1934
  ***/
1935
  function display( $mode, $args ) {
1936
  global $ultimatemember;
1937
  $output = null;
1938
+
1939
  $this->global_args = $args;
1940
+
1941
  $ultimatemember->form->form_suffix = '-' . $this->global_args['form_id'];
1942
+
1943
  $this->set_mode = $mode;
1944
  $this->set_id = $this->global_args['form_id'];
1945
+
1946
  $this->field_icons = ( isset( $this->global_args['icons'] ) ) ? $this->global_args['icons'] : 'label';
1947
+
1948
  // start output here
1949
  $this->get_fields = $this->get_fields();
1950
 
1951
  if ( !empty( $this->get_fields ) ) {
1952
+
1953
  // find rows
1954
  foreach( $this->get_fields as $key => $array ) {
1955
  if ( $array['type'] == 'row' ) {
1957
  unset( $this->get_fields[ $key ] ); // not needed anymore
1958
  }
1959
  }
1960
+
1961
  // rows fallback
1962
  if ( !isset( $this->rows ) ){
1963
  $this->rows = array( '_um_row_1' => array(
1964
+ 'type' => 'row',
1965
  'id' => '_um_row_1',
1966
  'sub_rows' => 1,
1967
  'cols' => 1
1968
  )
1969
  );
1970
  }
1971
+
1972
  // master rows
1973
  foreach ( $this->rows as $row_id => $row_array ) {
1974
+
1975
  $row_fields = $this->get_fields_by_row( $row_id );
1976
  if ( $row_fields ) {
1977
+
1978
  $output .= $this->new_row_output( $row_id, $row_array );
1979
+
1980
  $sub_rows = ( isset( $row_array['sub_rows'] ) ) ? $row_array['sub_rows'] : 1;
1981
  for( $c = 0; $c < $sub_rows; $c++ ) {
1982
 
1992
  // sub row fields
1993
  $subrow_fields = null;
1994
  $subrow_fields = $this->get_fields_in_subrow( $row_fields, $c );
1995
+
1996
  if ( is_array( $subrow_fields ) ) {
1997
+
1998
  $subrow_fields = $this->array_sort_by_column( $subrow_fields, 'position');
1999
 
2000
  if ( $cols_num == 1 ) {
2001
+
2002
  $output .= '<div class="um-col-1">';
2003
  $col1_fields = $this->get_fields_in_column( $subrow_fields, 1 );
2004
  if ( $col1_fields ) {
2005
  foreach( $col1_fields as $key => $data ) {$output .= $this->edit_field( $key, $data );}
2006
  }
2007
  $output .= '</div>';
2008
+
2009
  } else if ( $cols_num == 2 ) {
2010
+
2011
  $output .= '<div class="um-col-121">';
2012
  $col1_fields = $this->get_fields_in_column( $subrow_fields, 1 );
2013
  if ( $col1_fields ) {
2014
  foreach( $col1_fields as $key => $data ) {$output .= $this->edit_field( $key, $data );}
2015
  }
2016
  $output .= '</div>';
2017
+
2018
  $output .= '<div class="um-col-122">';
2019
  $col2_fields = $this->get_fields_in_column( $subrow_fields, 2 );
2020
  if ( $col2_fields ) {
2021
  foreach( $col2_fields as $key => $data ) {$output .= $this->edit_field( $key, $data );}
2022
  }
2023
  $output .= '</div><div class="um-clear"></div>';
2024
+
2025
  } else {
2026
+
2027
  $output .= '<div class="um-col-131">';
2028
  $col1_fields = $this->get_fields_in_column( $subrow_fields, 1 );
2029
  if ( $col1_fields ) {
2030
  foreach( $col1_fields as $key => $data ) {$output .= $this->edit_field( $key, $data );}
2031
  }
2032
  $output .= '</div>';
2033
+
2034
  $output .= '<div class="um-col-132">';
2035
  $col2_fields = $this->get_fields_in_column( $subrow_fields, 2 );
2036
  if ( $col2_fields ) {
2037
  foreach( $col2_fields as $key => $data ) {$output .= $this->edit_field( $key, $data );}
2038
  }
2039
  $output .= '</div>';
2040
+
2041
  $output .= '<div class="um-col-133">';
2042
  $col3_fields = $this->get_fields_in_column( $subrow_fields, 3 );
2043
  if ( $col3_fields ) {
2044
  foreach( $col3_fields as $key => $data ) {$output .= $this->edit_field( $key, $data );}
2045
  }
2046
  $output .= '</div><div class="um-clear"></div>';
2047
+
2048
  }
2049
+
2050
  }
2051
+
2052
  }
2053
+
2054
  $output .= '</div>';
2055
+
2056
  }
2057
+
2058
  }
2059
 
2060
  }
2061
+
2062
  return $output;
2063
  }
2064
+
2065
  /***
2066
  *** @a field in view mode
2067
  ***/
2068
  function view_field( $key, $data, $rule=false ) {
2069
  global $ultimatemember;
2070
+
2071
  $output = null;
2072
+
2073
  // get whole field data
2074
  if (is_array($data)) {
2075
  $data = $this->get_field($key);
2076
  extract($data);
2077
  }
2078
+
2079
  if ( !isset( $data['type'] ) ) return;
2080
+
2081
  if ( isset( $data['in_group'] ) && $data['in_group'] != '' && $rule != 'group' ) return;
2082
 
2083
  if ( $visibility == 'edit' ) return;
2084
+
2085
  if ( in_array( $type, array('block','shortcode','spacing','divider','group') ) ) {
2086
 
2087
  } else {
2088
  if ( ! $this->field_value( $key, $default, $data ) ) return;
2089
  }
2090
+
2091
  if ( !um_can_view_field( $data ) ) return;
2092
+
2093
  // disable these fields in profile view only
2094
  if ( in_array( $key, array('user_password') ) && $this->set_mode == 'profile' ) {
2095
  return;
2096
  }
2097
+
2098
  if ( !um_field_conditions_are_met( $data ) ) return;
2099
+
2100
  switch( $type ) {
2101
 
2102
  /* Default */
2103
  default:
2104
+
2105
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
2106
+
2107
  if ( isset( $data['label'] ) ) {
2108
  $output .= $this->field_label($label, $key, $data);
2109
  }
2110
+
2111
  $res = stripslashes( $this->field_value( $key, $default, $data ) );
2112
 
2113
  $output .= '<div class="um-field-area">';
2114
  $output .= '<div class="um-field-value">' . $res . '</div>';
2115
  $output .= '</div>';
2116
+
2117
  $output .= '</div>';
2118
+
2119
  break;
2120
+
2121
  /* HTML */
2122
  case 'block':
2123
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">
2124
  <div class="um-field-block">'.$content.'</div>
2125
  </div>';
2126
  break;
2127
+
2128
  /* Shortcode */
2129
  case 'shortcode':
2130
+
2131
  $content = str_replace('{profile_id}', um_profile_id(), $content );
2132
+
2133
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">
2134
  <div class="um-field-shortcode">' . do_shortcode($content) . '</div>
2135
  </div>';
2136
  break;
2137
+
2138
  /* Gap/Space */
2139
  case 'spacing':
2140
  $output .= '<div class="um-field um-field-spacing' . $classes . '"' . $conditional . ' style="height: '.$spacing.'"></div>';
2141
  break;
2142
+
2143
  /* A line divider */
2144
  case 'divider':
2145
  $output .= '<div class="um-field um-field-divider' . $classes . '"' . $conditional . ' style="border-bottom: '.$borderwidth.'px '.$borderstyle.' '.$bordercolor.'">';
2148
  }
2149
  $output .= '</div>';
2150
  break;
2151
+
2152
  /* Rating */
2153
  case 'rating':
2154
+
2155
  $output .= '<div class="um-field' . $classes . '"' . $conditional . ' data-key="'.$key.'">';
2156
+
2157
  if ( isset( $data['label'] ) ) {
2158
  $output .= $this->field_label($label, $key, $data);
2159
  }
2163
  <div class="um-rating-readonly um-raty" id="'.$key.'" data-key="'.$key.'" data-number="'.$data['number'].'" data-score="' . $this->field_value( $key, $default, $data ) . '"></div>
2164
  </div>';
2165
  $output .= '</div>';
2166
+
2167
  $output .= '</div>';
2168
+
2169
  break;
2170
+
2171
  }
2172
+
2173
  // Custom filter for field output
2174
  if ( isset( $this->set_mode ) ) {
2175
  $output = apply_filters("um_{$key}_form_show_field", $output, $this->set_mode);
2176
  }
2177
+
2178
  return $output;
2179
  }
2180
+
2181
  /***
2182
  *** @display fields (view mode)
2183
  ***/
2184
  function display_view( $mode, $args ) {
2185
  global $ultimatemember;
2186
  $output = null;
2187
+
2188
  $this->global_args = $args;
2189
+
2190
  $ultimatemember->form->form_suffix = '-' . $this->global_args['form_id'];
2191
+
2192
  $this->set_mode = $mode;
2193
  $this->set_id = $this->global_args['form_id'];
2194
+
2195
  $this->field_icons = ( isset( $this->global_args['icons'] ) ) ? $this->global_args['icons'] : 'label';
2196
+
2197
  // start output here
2198
  $this->get_fields = $this->get_fields();
2199
 
2200
  if ( um_get_option('profile_empty_text') ) {
2201
+
2202
  $emo = um_get_option('profile_empty_text_emo');
2203
  if ( $emo ) {
2204
  $emo = '<i class="um-faicon-frown-o"></i>';
2205
  } else {
2206
  $emo = false;
2207
  }
2208
+
2209
  if ( um_is_myprofile() ) {
2210
  $output .= '<p class="um-profile-note">' . $emo .'<span>' . sprintf(__('Your profile is looking a little empty. Why not <a href="%s">add</a> some information!','ultimatemember'), um_edit_profile_url() ) . '</span></p>';
2211
  } else {
2212
  $output .= '<p class="um-profile-note">'. $emo . '<span>' . __('This user has not added any information to their profile yet.','ultimatemember') . '</span></p>';
2213
  }
2214
  }
2215
+
2216
  if ( !empty( $this->get_fields ) ) {
2217
+
2218
  // find rows
2219
  foreach( $this->get_fields as $key => $array ) {
2220
  if ( $array['type'] == 'row' ) {
2222
  unset( $this->get_fields[ $key ] ); // not needed anymore
2223
  }
2224
  }
2225
+
2226
  // rows fallback
2227
  if ( !isset( $this->rows ) ){
2228
  $this->rows = array( '_um_row_1' => array(
2229
+ 'type' => 'row',
2230
  'id' => '_um_row_1',
2231
  'sub_rows' => 1,
2232
  'cols' => 1
2233
  )
2234
  );
2235
  }
2236
+
2237
  // master rows
2238
  foreach ( $this->rows as $row_id => $row_array ) {
2239
+
2240
  $row_fields = $this->get_fields_by_row( $row_id );
2241
  if ( $row_fields ) {
2242
+
2243
  $output .= $this->new_row_output( $row_id, $row_array );
2244
 
2245
  $sub_rows = ( isset( $row_array['sub_rows'] ) ) ? $row_array['sub_rows'] : 1;
2257
  // sub row fields
2258
  $subrow_fields = null;
2259
  $subrow_fields = $this->get_fields_in_subrow( $row_fields, $c );
2260
+
2261
  if ( is_array( $subrow_fields ) ) {
2262
+
2263
  $subrow_fields = $this->array_sort_by_column( $subrow_fields, 'position');
2264
 
2265
  if ( $cols_num == 1 ) {
2266
+
2267
  $output .= '<div class="um-col-1">';
2268
  $col1_fields = $this->get_fields_in_column( $subrow_fields, 1 );
2269
  if ( $col1_fields ) {
2270
  foreach( $col1_fields as $key => $data ) {$output .= $this->view_field( $key, $data );}
2271
  }
2272
  $output .= '</div>';
2273
+
2274
  } else if ( $cols_num == 2 ) {
2275
+
2276
  $output .= '<div class="um-col-121">';
2277
  $col1_fields = $this->get_fields_in_column( $subrow_fields, 1 );
2278
  if ( $col1_fields ) {
2279
  foreach( $col1_fields as $key => $data ) {$output .= $this->view_field( $key, $data );}
2280
  }
2281
  $output .= '</div>';
2282
+
2283
  $output .= '<div class="um-col-122">';
2284
  $col2_fields = $this->get_fields_in_column( $subrow_fields, 2 );
2285
  if ( $col2_fields ) {
2286
  foreach( $col2_fields as $key => $data ) {$output .= $this->view_field( $key, $data );}
2287
  }
2288
  $output .= '</div><div class="um-clear"></div>';
2289
+
2290
  } else {
2291
+
2292
  $output .= '<div class="um-col-131">';
2293
  $col1_fields = $this->get_fields_in_column( $subrow_fields, 1 );
2294
  if ( $col1_fields ) {
2295
  foreach( $col1_fields as $key => $data ) {$output .= $this->view_field( $key, $data );}
2296
  }
2297
  $output .= '</div>';
2298
+
2299
  $output .= '<div class="um-col-132">';
2300
  $col2_fields = $this->get_fields_in_column( $subrow_fields, 2 );
2301
  if ( $col2_fields ) {
2302
  foreach( $col2_fields as $key => $data ) {$output .= $this->view_field( $key, $data );}
2303
  }
2304
  $output .= '</div>';
2305
+
2306
  $output .= '<div class="um-col-133">';
2307
  $col3_fields = $this->get_fields_in_column( $subrow_fields, 3 );
2308
  if ( $col3_fields ) {
2309
  foreach( $col3_fields as $key => $data ) {$output .= $this->view_field( $key, $data );}
2310
  }
2311
  $output .= '</div><div class="um-clear"></div>';
2312
+
2313
  }
2314
+
2315
  }
2316
+
2317
  }
2318
+
2319
  $output .= '</div>';
2320
+
2321
  }
2322
+
2323
  }
2324
 
2325
  }
2326
+
2327
  return $output;
2328
  }
2329
+
2330
  /***
2331
  *** @begin new row in form
2332
  ***/
2333
  function new_row_output( $row_id, $row_array ) {
2334
  $output = null;
2335
  extract($row_array);
2336
+
2337
  $padding = (isset($padding))?$padding:'';
2338
  $margin = (isset($margin))?$margin:'';
2339
  $background = (isset($background))?$background:'';
2343
  $borderstyle = (isset($borderstyle))?$borderstyle:'';
2344
  $heading = (isset($heading))?$heading:'';
2345
  $css_class = (isset($css_class))?$css_class:'';
2346
+
2347
  $css_padding = '';
2348
  $css_margin = '';
2349
  $css_background = '';
2355
  $css_heading_padding = '';
2356
  $css_heading_text_color = '';
2357
  $css_heading_borderradius = '';
2358
+
2359
  // row css rules
2360
  if ( $padding ) $css_padding = 'padding: ' . $padding .';';
2361
  if ( $margin ) {
2363
  } else {
2364
  $css_margin = 'margin: 0 0 30px 0;';
2365
  }
2366
+
2367
  if ( $background ) $css_background = 'background-color: ' . $background .';';
2368
  if ( $borderradius ) $css_borderradius = 'border-radius: 0px 0px ' . $borderradius . ' ' . $borderradius . ';';
2369
  if ( $border ) $css_border = 'border-width: ' . $border . ';';
2370
  if ( $bordercolor ) $css_bordercolor = 'border-color: ' . $bordercolor . ';';
2371
  if ( $borderstyle ) $css_borderstyle = 'border-style: ' . $borderstyle . ';';
2372
+
2373
  // show the heading
2374
  if ( $heading ) {
2375
 
2376
  $heading_background_color = (isset($heading_background_color))?$heading_background_color:'';
2377
  $heading_text_color = (isset($heading_text_color))?$heading_text_color:'';
2378
+
2379
  if ( $heading_background_color ) {
2380
  $css_heading_background_color = 'background-color: ' . $heading_background_color .';';
2381
  $css_heading_padding = 'padding: 10px 15px;';
2383
 
2384
  if ( $heading_text_color ) $css_heading_text_color = 'color: ' . $heading_text_color .';';
2385
  if ( $borderradius ) $css_heading_borderradius = 'border-radius: ' . $borderradius . ' ' . $borderradius . ' 0px 0px;';
2386
+
2387
  $output .= '<div class="um-row-heading" style="' . $css_heading_background_color . $css_heading_padding . $css_heading_text_color . $css_heading_borderradius . '">';
2388
  if ( isset($icon) ) $output .= '<span class="um-row-heading-icon"><i class="' . $icon . '"></i></span>';
2389
  $output .= $heading_text .'</div>';
2390
+
2391
  } else {
2392
+
2393
  // no heading
2394
  if ( $borderradius ) $css_borderradius = 'border-radius: ' . $borderradius . ';';
2395
+
2396
  }
2397
 
2398
  $output .= '<div class="um-row ' . $row_id . ' ' . $css_class . '" style="'. $css_padding . $css_background . $css_margin . $css_border . $css_borderstyle . $css_bordercolor . $css_borderradius . '">';
2399
+
2400
  return $output;
2401
  }
2402
 
2403
+ }
core/um-filters-members.php CHANGED
@@ -62,39 +62,41 @@
62
 
63
  $query = $ultimatemember->permalinks->get_query_array();
64
 
65
- foreach( $query as $field => $value ) {
 
66
 
67
- if(in_array($field, array('members_page'))) continue;
68
-
69
- if ( in_array( $field, array('gender') ) ) {
70
- $operator = '=';
71
- } else {
72
- $operator = 'LIKE';
73
- }
74
 
75
- if ( in_array( $ultimatemember->fields->get_field_type( $field ), array('checkbox','multiselect') ) ) {
76
- $operator = 'LIKE';
77
- }
78
 
79
- if ( $value && $field != 'um_search' && $field != 'page_id' ) {
80
-
81
- if ( !in_array( $field, $ultimatemember->members->core_search_fields ) ) {
82
-
83
- if ( strstr($field, 'role_' ) ) {
84
- $field = 'role';
85
- $operator = '=';
 
 
 
 
 
 
 
 
86
  }
87
-
88
- $query_args['meta_query'][] = array(
89
- 'key' => $field,
90
- 'value' => $value,
91
- 'compare' => $operator,
92
- );
93
-
94
  }
95
-
96
  }
97
-
98
  }
99
 
100
  }
@@ -141,6 +143,14 @@
141
  );
142
  }
143
 
 
 
 
 
 
 
 
 
144
  // add roles to appear in directory
145
  if ( !empty( $roles ) ) {
146
 
@@ -160,7 +170,7 @@
160
  if ( $sortby == 'other' && $sortby_custom ) {
161
 
162
  $query_args['meta_key'] = $sortby_custom;
163
- $query_args['orderby'] = 'meta_value';
164
 
165
  } else if ( in_array( $sortby, array( 'last_name', 'first_name' ) ) ) {
166
 
62
 
63
  $query = $ultimatemember->permalinks->get_query_array();
64
 
65
+ if ( $query && is_array( $query ) ) {
66
+ foreach( $query as $field => $value ) {
67
 
68
+ if(in_array($field, array('members_page'))) continue;
69
+
70
+ if ( in_array( $field, array('gender') ) ) {
71
+ $operator = '=';
72
+ } else {
73
+ $operator = 'LIKE';
74
+ }
75
 
76
+ if ( in_array( $ultimatemember->fields->get_field_type( $field ), array('checkbox','multiselect') ) ) {
77
+ $operator = 'LIKE';
78
+ }
79
 
80
+ if ( $value && $field != 'um_search' && $field != 'page_id' ) {
81
+
82
+ if ( !in_array( $field, $ultimatemember->members->core_search_fields ) ) {
83
+
84
+ if ( strstr($field, 'role_' ) ) {
85
+ $field = 'role';
86
+ $operator = '=';
87
+ }
88
+
89
+ $query_args['meta_query'][] = array(
90
+ 'key' => $field,
91
+ 'value' => $value,
92
+ 'compare' => $operator,
93
+ );
94
+
95
  }
96
+
 
 
 
 
 
 
97
  }
98
+
99
  }
 
100
  }
101
 
102
  }
143
  );
144
  }
145
 
146
+ // show specific usernames
147
+ if ( isset( $show_these_users ) && $show_these_users && is_array( $show_these_users ) ) {
148
+ foreach( $show_these_users as $username ) {
149
+ $users_array[] = username_exists( $username );
150
+ }
151
+ $query_args['include'] = $users_array;
152
+ }
153
+
154
  // add roles to appear in directory
155
  if ( !empty( $roles ) ) {
156
 
170
  if ( $sortby == 'other' && $sortby_custom ) {
171
 
172
  $query_args['meta_key'] = $sortby_custom;
173
+ $query_args['orderby'] = 'meta_value, display_name';
174
 
175
  } else if ( in_array( $sortby, array( 'last_name', 'first_name' ) ) ) {
176
 
core/um-filters-profile.php CHANGED
@@ -17,7 +17,7 @@
17
  /***
18
  *** @dynamic profile page title
19
  ***/
20
- add_filter('wp_title', 'um_dynamic_user_profile_pagetitle', 100000, 2 );
21
  function um_dynamic_user_profile_pagetitle( $title, $sep = '' ) {
22
  global $paged, $page, $ultimatemember;
23
 
17
  /***
18
  *** @dynamic profile page title
19
  ***/
20
+ add_filter('pre_get_document_title', 'um_dynamic_user_profile_pagetitle', 100000, 2 );
21
  function um_dynamic_user_profile_pagetitle( $title, $sep = '' ) {
22
  global $paged, $page, $ultimatemember;
23
 
core/um-filters-user.php CHANGED
@@ -14,7 +14,7 @@
14
  $actions['um_resend_activation'] = array( 'label' => __('Resend Activation E-mail','ultimatemember') );
15
  $actions['um_deactivate'] = array( 'label' => __('Deactivate','ultimatemember') );
16
  $actions['um_reenable'] = array( 'label' => __('Reactivate','ultimatemember') );
17
- $actions['um_delete'] = array( 'label' => __('Delete','ultimatemember') );
18
 
19
  return $actions;
20
  }
14
  $actions['um_resend_activation'] = array( 'label' => __('Resend Activation E-mail','ultimatemember') );
15
  $actions['um_deactivate'] = array( 'label' => __('Deactivate','ultimatemember') );
16
  $actions['um_reenable'] = array( 'label' => __('Reactivate','ultimatemember') );
17
+ //$actions['um_delete'] = array( 'label' => __('Delete','ultimatemember') );
18
 
19
  return $actions;
20
  }
core/um-form.php CHANGED
@@ -43,7 +43,11 @@ class UM_Form {
43
  ***/
44
  function field_declare(){
45
  global $ultimatemember;
46
- $this->all_fields = $ultimatemember->builtin->custom_fields;
 
 
 
 
47
  }
48
 
49
  /***
43
  ***/
44
  function field_declare(){
45
  global $ultimatemember;
46
+ if ( isset( $ultimatemember->builtin->custom_fields ) ) {
47
+ $this->all_fields = $ultimatemember->builtin->custom_fields;
48
+ } else {
49
+ $this->all_fields = null;
50
+ }
51
  }
52
 
53
  /***
core/um-permalinks.php CHANGED
@@ -82,7 +82,7 @@ class UM_Permalinks {
82
 
83
  if ( um_user('account_status') != 'awaiting_email_confirmation' ) wp_die('The activation link you used is invalid or has expired.');
84
 
85
- if ( $_REQUEST['hash'] != um_user('account_secret_hash') ) wp_die('The secret key provided does not match this one for the user.');
86
 
87
  $ultimatemember->user->approve();
88
  $redirect = ( um_user('url_email_activate') ) ? um_user('url_email_activate') : um_get_core_page('login', 'account_active');
82
 
83
  if ( um_user('account_status') != 'awaiting_email_confirmation' ) wp_die('The activation link you used is invalid or has expired.');
84
 
85
+ if ( strtolower($_REQUEST['hash']) !== strtolower( um_user('account_secret_hash') ) ) wp_die('The secret key provided does not match this one for the user.');
86
 
87
  $ultimatemember->user->approve();
88
  $redirect = ( um_user('url_email_activate') ) ? um_user('url_email_activate') : um_get_core_page('login', 'account_active');
core/um-setup.php CHANGED
@@ -5,11 +5,11 @@ class UM_Setup {
5
  function __construct() {
6
 
7
  add_action('init', array(&$this, 'install_basics'), 9);
8
-
9
  add_action('init', array(&$this, 'install_default_forms'), 9);
10
-
11
  add_action('init', array(&$this, 'install_default_roles'), 9);
12
-
13
  add_action('init', array(&$this, 'install_posts_roles'), 9);
14
 
15
  $this->core_forms = array(
@@ -17,7 +17,7 @@ class UM_Setup {
17
  'login',
18
  'profile',
19
  );
20
-
21
  $this->core_directories = array(
22
  'members',
23
  );
@@ -53,7 +53,7 @@ class UM_Setup {
53
  '_um_profiles_per_page_mobile' => 6,
54
  '_um_core' => 'members',
55
  );
56
-
57
  $this->core_global_meta_all = array(
58
  '_um_primary_btn_color',
59
  '_um_primary_btn_hover',
@@ -74,7 +74,7 @@ class UM_Setup {
74
  '_um_help_tip_color',
75
  '_um_secondary_color',
76
  );
77
-
78
  $this->core_form_meta_all = array(
79
  '_um_help_tip_color' => '#ccc',
80
  '_um_active_color' => '#3ba1da',
@@ -97,6 +97,7 @@ class UM_Setup {
97
  '_um_profile_show_name' => 1,
98
  '_um_profile_show_social_links' => 0,
99
  '_um_profile_show_bio' => 1,
 
100
  '_um_profile_bio_maxchars' => 180,
101
  '_um_profile_header_menu' => 'bc',
102
  '_um_profile_empty_text' => 1,
@@ -162,9 +163,9 @@ class UM_Setup {
162
  '_um_directory_header' => __('{total_users} Members','ultimatemember'),
163
  '_um_directory_header_single' => __('{total_users} Member','ultimatemember'),
164
  );
165
-
166
  $this->core_form_meta_all = apply_filters('um_core_form_meta_all', $this->core_form_meta_all );
167
-
168
  $this->core_form_meta['register'] = array(
169
  '_um_custom_fields' => 'a:6:{s:10:"user_login";a:15:{s:5:"title";s:8:"Username";s:7:"metakey";s:10:"user_login";s:4:"type";s:4:"text";s:5:"label";s:8:"Username";s:8:"required";i:1;s:6:"public";i:1;s:8:"editable";i:0;s:8:"validate";s:15:"unique_username";s:9:"min_chars";i:3;s:9:"max_chars";i:24;s:8:"position";s:1:"1";s:6:"in_row";s:9:"_um_row_1";s:10:"in_sub_row";s:1:"0";s:9:"in_column";s:1:"1";s:8:"in_group";s:0:"";}s:10:"user_email";a:13:{s:5:"title";s:14:"E-mail Address";s:7:"metakey";s:10:"user_email";s:4:"type";s:4:"text";s:5:"label";s:14:"E-mail Address";s:8:"required";i:0;s:6:"public";i:1;s:8:"editable";i:1;s:8:"validate";s:12:"unique_email";s:8:"position";s:1:"4";s:6:"in_row";s:9:"_um_row_1";s:10:"in_sub_row";s:1:"0";s:9:"in_column";s:1:"1";s:8:"in_group";s:0:"";}s:13:"user_password";a:16:{s:5:"title";s:8:"Password";s:7:"metakey";s:13:"user_password";s:4:"type";s:8:"password";s:5:"label";s:8:"Password";s:8:"required";i:1;s:6:"public";i:1;s:8:"editable";i:1;s:9:"min_chars";i:8;s:9:"max_chars";i:30;s:15:"force_good_pass";i:1;s:18:"force_confirm_pass";i:1;s:8:"position";s:1:"5";s:6:"in_row";s:9:"_um_row_1";s:10:"in_sub_row";s:1:"0";s:9:"in_column";s:1:"1";s:8:"in_group";s:0:"";}s:10:"first_name";a:12:{s:5:"title";s:10:"First Name";s:7:"metakey";s:10:"first_name";s:4:"type";s:4:"text";s:5:"label";s:10:"First Name";s:8:"required";i:0;s:6:"public";i:1;s:8:"editable";i:1;s:8:"position";s:1:"2";s:6:"in_row";s:9:"_um_row_1";s:10:"in_sub_row";s:1:"0";s:9:"in_column";s:1:"1";s:8:"in_group";s:0:"";}s:9:"last_name";a:12:{s:5:"title";s:9:"Last Name";s:7:"metakey";s:9:"last_name";s:4:"type";s:4:"text";s:5:"label";s:9:"Last Name";s:8:"required";i:0;s:6:"public";i:1;s:8:"editable";i:1;s:8:"position";s:1:"3";s:6:"in_row";s:9:"_um_row_1";s:10:"in_sub_row";s:1:"0";s:9:"in_column";s:1:"1";s:8:"in_group";s:0:"";}s:9:"_um_row_1";a:4:{s:4:"type";s:3:"row";s:2:"id";s:9:"_um_row_1";s:8:"sub_rows";s:1:"1";s:4:"cols";s:1:"1";}}',
170
  '_um_mode' => 'register',
@@ -204,7 +205,7 @@ class UM_Setup {
204
  'after_login' => 'redirect_admin',
205
  'after_logout' => 'redirect_home',
206
  );
207
-
208
  // non-admin permissions
209
  $this->nonadmin_perms = array(
210
  'core' => 'member',
@@ -216,9 +217,9 @@ class UM_Setup {
216
  'can_access_private_profile' => 0,
217
  'after_login' => 'redirect_profile',
218
  );
219
-
220
  }
221
-
222
  /***
223
  *** @Get default permissions
224
  ***/
@@ -232,7 +233,7 @@ class UM_Setup {
232
  return $perms;
233
  }
234
  }
235
-
236
  /***
237
  *** @Basics
238
  ***/
@@ -240,7 +241,7 @@ class UM_Setup {
240
  if ( !get_option('__ultimatemember_sitekey') )
241
  update_option('__ultimatemember_sitekey', str_replace( array('http://','https://'), '', sanitize_user( get_bloginfo('url') ) ) . '-' . wp_generate_password( 20, false ) );
242
  }
243
-
244
  /***
245
  *** @Default Forms
246
  ***/
@@ -248,19 +249,19 @@ class UM_Setup {
248
  global $wpdb, $ultimatemember;
249
 
250
  if ( current_user_can('manage_options') && um_user('ID') && !get_option('um_is_installed') ) {
251
-
252
  update_option('um_is_installed', 1);
253
-
254
  // Install Core Forms
255
  foreach($this->core_forms as $id ) {
256
-
257
  /**
258
  If page does not exist
259
  Create it
260
  **/
261
  $page_exists = $ultimatemember->query->find_post_id('um_form','_um_core', $id);
262
  if ( !$page_exists ) {
263
-
264
  if ( $id == 'register' ) {
265
  $title = 'Default Registration';
266
  } else if ( $id == 'login' ) {
@@ -268,16 +269,16 @@ class UM_Setup {
268
  } else {
269
  $title = 'Default Profile';
270
  }
271
-
272
  $form = array(
273
  'post_type' => 'um_form',
274
  'post_title' => $title,
275
  'post_status' => 'publish',
276
  'post_author' => um_user('ID'),
277
  );
278
-
279
  $form_id = wp_insert_post( $form );
280
-
281
  foreach( $this->core_form_meta[$id] as $key => $value ) {
282
  if ( $key == '_um_custom_fields' ) {
283
  $array = unserialize( $value );
@@ -286,38 +287,38 @@ class UM_Setup {
286
  update_post_meta($form_id, $key, $value);
287
  }
288
  }
289
-
290
  $this->setup_shortcode[$id] = '[ultimatemember form_id='.$form_id.']';
291
 
292
  $core_forms[ $form_id ] = $form_id;
293
-
294
  }
295
  /** DONE **/
296
-
297
  }
298
  if ( isset( $core_forms ) ) update_option('um_core_forms', $core_forms);
299
-
300
  // Install Core Directories
301
  foreach($this->core_directories as $id ) {
302
-
303
  /**
304
  If page does not exist
305
  Create it
306
  **/
307
  $page_exists = $ultimatemember->query->find_post_id('um_directory','_um_core', $id);
308
  if ( !$page_exists ) {
309
-
310
  $title = 'Members';
311
-
312
  $form = array(
313
  'post_type' => 'um_directory',
314
  'post_title' => $title,
315
  'post_status' => 'publish',
316
  'post_author' => um_user('ID'),
317
  );
318
-
319
  $form_id = wp_insert_post( $form );
320
-
321
  foreach( $this->core_directory_meta[$id] as $key => $value ) {
322
  if ( $key == '_um_custom_fields' ) {
323
  $array = unserialize( $value );
@@ -326,17 +327,17 @@ class UM_Setup {
326
  update_post_meta($form_id, $key, $value);
327
  }
328
  }
329
-
330
  $this->setup_shortcode[$id] = '[ultimatemember form_id='.$form_id.']';
331
 
332
  $core_directories[ $form_id ] = $form_id;
333
-
334
  }
335
  /** DONE **/
336
-
337
  }
338
  if ( isset( $core_directories ) ) update_option('um_core_directories', $core_directories);
339
-
340
  // Install Core Pages
341
  foreach($this->core_pages as $slug => $array ) {
342
 
@@ -346,7 +347,7 @@ class UM_Setup {
346
  **/
347
  $page_exists = $ultimatemember->query->find_post_id('page','_um_core', $slug);
348
  if ( !$page_exists ) {
349
-
350
  if ( $slug == 'logout' ) {
351
  $content = '';
352
  } else if ( $slug == 'account' ) {
@@ -358,7 +359,7 @@ class UM_Setup {
358
  } else {
359
  $content = $this->setup_shortcode[$slug];
360
  }
361
-
362
  $user_page = array(
363
  'post_title' => $array['title'],
364
  'post_content' => $content,
@@ -368,17 +369,17 @@ class UM_Setup {
368
  'post_author' => um_user('ID'),
369
  'comment_status' => 'closed'
370
  );
371
-
372
  $post_id = wp_insert_post( $user_page );
373
  wp_update_post( array('ID' => $post_id, 'post_type' => 'page' ) );
374
-
375
  update_post_meta($post_id, '_um_core', $slug);
376
-
377
  $core_pages[ $slug ] = $post_id;
378
-
379
  }
380
  /** DONE **/
381
-
382
  }
383
  if ( isset( $core_pages ) ) {
384
  update_option('um_core_pages', $core_pages);
@@ -390,28 +391,28 @@ class UM_Setup {
390
  update_option('um_options', $options );
391
  }
392
  }
393
-
394
  }
395
-
396
  }
397
-
398
  /***
399
  *** @First setup of core roles
400
  ***/
401
  function install_default_roles(){
402
-
403
  if ( !get_option('um_first_setup_roles') ) {
404
 
405
  update_option('um_first_setup_roles', 1);
406
-
407
  $users = get_users( array('fields' => 'ID') );
408
  foreach( $users as $id ) {
409
 
410
  delete_user_meta( $id, 'account_status' );
411
  delete_user_meta( $id, 'role' );
412
-
413
  update_user_meta( $id, 'account_status', 'approved' );
414
-
415
  if ( !is_super_admin( $id ) ) {
416
  if ( is_numeric( $id ) ) {
417
  update_user_meta( $id, 'role', 'member' );
@@ -421,11 +422,11 @@ class UM_Setup {
421
  update_user_meta( $id, 'role', 'admin' );
422
  }
423
  }
424
-
425
  }
426
 
427
  }
428
-
429
  if ( !get_option('um_hashed_passwords_fix') ) {
430
  update_option('um_hashed_passwords_fix', 1);
431
  $users = get_users( array('fields' => 'ID') );
@@ -433,20 +434,26 @@ class UM_Setup {
433
  delete_user_meta( $id, '_um_cool_but_hard_to_guess_plain_pw' );
434
  }
435
  }
436
-
437
  }
438
-
439
  /***
440
  *** @Build default roles
441
  ***/
442
  function install_posts_roles(){
443
-
444
  global $wpdb, $ultimatemember;
445
-
 
 
 
 
 
 
446
  $admin = $ultimatemember->query->find_post_id('um_role','_um_core','admin');
447
 
448
  if ( !$admin && current_user_can('manage_options') && um_user('ID') ){
449
-
450
  $admin_role = array(
451
  'post_title' => 'Admin',
452
  'post_name' => 'admin',
@@ -454,17 +461,17 @@ class UM_Setup {
454
  'post_status' => 'publish',
455
  'post_author' => um_user('ID'),
456
  );
457
-
458
  $post_id = wp_insert_post( $admin_role );
459
-
460
  foreach( $this->get_initial_permissions('admin') as $key => $value ) update_post_meta($post_id, "_um_" . $key, $value);
461
-
462
  }
463
-
464
  $member = $ultimatemember->query->find_post_id('um_role','_um_core','member');
465
-
466
  if ( !$member && current_user_can('manage_options') && um_user('ID') ){
467
-
468
  $member_role = array(
469
  'post_title' => 'Member',
470
  'post_name' => 'member',
@@ -472,13 +479,13 @@ class UM_Setup {
472
  'post_status' => 'publish',
473
  'post_author' => um_user('ID'),
474
  );
475
-
476
  $post_id = wp_insert_post( $member_role );
477
-
478
  foreach( $this->get_initial_permissions('member') as $key => $value ) update_post_meta($post_id, "_um_" . $key, $value);
479
-
480
  }
481
-
482
  }
483
 
484
- }
5
  function __construct() {
6
 
7
  add_action('init', array(&$this, 'install_basics'), 9);
8
+
9
  add_action('init', array(&$this, 'install_default_forms'), 9);
10
+
11
  add_action('init', array(&$this, 'install_default_roles'), 9);
12
+
13
  add_action('init', array(&$this, 'install_posts_roles'), 9);
14
 
15
  $this->core_forms = array(
17
  'login',
18
  'profile',
19
  );
20
+
21
  $this->core_directories = array(
22
  'members',
23
  );
53
  '_um_profiles_per_page_mobile' => 6,
54
  '_um_core' => 'members',
55
  );
56
+
57
  $this->core_global_meta_all = array(
58
  '_um_primary_btn_color',
59
  '_um_primary_btn_hover',
74
  '_um_help_tip_color',
75
  '_um_secondary_color',
76
  );
77
+
78
  $this->core_form_meta_all = array(
79
  '_um_help_tip_color' => '#ccc',
80
  '_um_active_color' => '#3ba1da',
97
  '_um_profile_show_name' => 1,
98
  '_um_profile_show_social_links' => 0,
99
  '_um_profile_show_bio' => 1,
100
+ 'profile_show_html_bio' => 0,
101
  '_um_profile_bio_maxchars' => 180,
102
  '_um_profile_header_menu' => 'bc',
103
  '_um_profile_empty_text' => 1,
163
  '_um_directory_header' => __('{total_users} Members','ultimatemember'),
164
  '_um_directory_header_single' => __('{total_users} Member','ultimatemember'),
165
  );
166
+
167
  $this->core_form_meta_all = apply_filters('um_core_form_meta_all', $this->core_form_meta_all );
168
+
169
  $this->core_form_meta['register'] = array(
170
  '_um_custom_fields' => 'a:6:{s:10:"user_login";a:15:{s:5:"title";s:8:"Username";s:7:"metakey";s:10:"user_login";s:4:"type";s:4:"text";s:5:"label";s:8:"Username";s:8:"required";i:1;s:6:"public";i:1;s:8:"editable";i:0;s:8:"validate";s:15:"unique_username";s:9:"min_chars";i:3;s:9:"max_chars";i:24;s:8:"position";s:1:"1";s:6:"in_row";s:9:"_um_row_1";s:10:"in_sub_row";s:1:"0";s:9:"in_column";s:1:"1";s:8:"in_group";s:0:"";}s:10:"user_email";a:13:{s:5:"title";s:14:"E-mail Address";s:7:"metakey";s:10:"user_email";s:4:"type";s:4:"text";s:5:"label";s:14:"E-mail Address";s:8:"required";i:0;s:6:"public";i:1;s:8:"editable";i:1;s:8:"validate";s:12:"unique_email";s:8:"position";s:1:"4";s:6:"in_row";s:9:"_um_row_1";s:10:"in_sub_row";s:1:"0";s:9:"in_column";s:1:"1";s:8:"in_group";s:0:"";}s:13:"user_password";a:16:{s:5:"title";s:8:"Password";s:7:"metakey";s:13:"user_password";s:4:"type";s:8:"password";s:5:"label";s:8:"Password";s:8:"required";i:1;s:6:"public";i:1;s:8:"editable";i:1;s:9:"min_chars";i:8;s:9:"max_chars";i:30;s:15:"force_good_pass";i:1;s:18:"force_confirm_pass";i:1;s:8:"position";s:1:"5";s:6:"in_row";s:9:"_um_row_1";s:10:"in_sub_row";s:1:"0";s:9:"in_column";s:1:"1";s:8:"in_group";s:0:"";}s:10:"first_name";a:12:{s:5:"title";s:10:"First Name";s:7:"metakey";s:10:"first_name";s:4:"type";s:4:"text";s:5:"label";s:10:"First Name";s:8:"required";i:0;s:6:"public";i:1;s:8:"editable";i:1;s:8:"position";s:1:"2";s:6:"in_row";s:9:"_um_row_1";s:10:"in_sub_row";s:1:"0";s:9:"in_column";s:1:"1";s:8:"in_group";s:0:"";}s:9:"last_name";a:12:{s:5:"title";s:9:"Last Name";s:7:"metakey";s:9:"last_name";s:4:"type";s:4:"text";s:5:"label";s:9:"Last Name";s:8:"required";i:0;s:6:"public";i:1;s:8:"editable";i:1;s:8:"position";s:1:"3";s:6:"in_row";s:9:"_um_row_1";s:10:"in_sub_row";s:1:"0";s:9:"in_column";s:1:"1";s:8:"in_group";s:0:"";}s:9:"_um_row_1";a:4:{s:4:"type";s:3:"row";s:2:"id";s:9:"_um_row_1";s:8:"sub_rows";s:1:"1";s:4:"cols";s:1:"1";}}',
171
  '_um_mode' => 'register',
205
  'after_login' => 'redirect_admin',
206
  'after_logout' => 'redirect_home',
207
  );
208
+
209
  // non-admin permissions
210
  $this->nonadmin_perms = array(
211
  'core' => 'member',
217
  'can_access_private_profile' => 0,
218
  'after_login' => 'redirect_profile',
219
  );
220
+
221
  }
222
+
223
  /***
224
  *** @Get default permissions
225
  ***/
233
  return $perms;
234
  }
235
  }
236
+
237
  /***
238
  *** @Basics
239
  ***/
241
  if ( !get_option('__ultimatemember_sitekey') )
242
  update_option('__ultimatemember_sitekey', str_replace( array('http://','https://'), '', sanitize_user( get_bloginfo('url') ) ) . '-' . wp_generate_password( 20, false ) );
243
  }
244
+
245
  /***
246
  *** @Default Forms
247
  ***/
249
  global $wpdb, $ultimatemember;
250
 
251
  if ( current_user_can('manage_options') && um_user('ID') && !get_option('um_is_installed') ) {
252
+
253
  update_option('um_is_installed', 1);
254
+
255
  // Install Core Forms
256
  foreach($this->core_forms as $id ) {
257
+
258
  /**
259
  If page does not exist
260
  Create it
261
  **/
262
  $page_exists = $ultimatemember->query->find_post_id('um_form','_um_core', $id);
263
  if ( !$page_exists ) {
264
+
265
  if ( $id == 'register' ) {
266
  $title = 'Default Registration';
267
  } else if ( $id == 'login' ) {
269
  } else {
270
  $title = 'Default Profile';
271
  }
272
+
273
  $form = array(
274
  'post_type' => 'um_form',
275
  'post_title' => $title,
276
  'post_status' => 'publish',
277
  'post_author' => um_user('ID'),
278
  );
279
+
280
  $form_id = wp_insert_post( $form );
281
+
282
  foreach( $this->core_form_meta[$id] as $key => $value ) {
283
  if ( $key == '_um_custom_fields' ) {
284
  $array = unserialize( $value );
287
  update_post_meta($form_id, $key, $value);
288
  }
289
  }
290
+
291
  $this->setup_shortcode[$id] = '[ultimatemember form_id='.$form_id.']';
292
 
293
  $core_forms[ $form_id ] = $form_id;
294
+
295
  }
296
  /** DONE **/
297
+
298
  }
299
  if ( isset( $core_forms ) ) update_option('um_core_forms', $core_forms);
300
+
301
  // Install Core Directories
302
  foreach($this->core_directories as $id ) {
303
+
304
  /**
305
  If page does not exist
306
  Create it
307
  **/
308
  $page_exists = $ultimatemember->query->find_post_id('um_directory','_um_core', $id);
309
  if ( !$page_exists ) {
310
+
311
  $title = 'Members';
312
+
313
  $form = array(
314
  'post_type' => 'um_directory',
315
  'post_title' => $title,
316
  'post_status' => 'publish',
317
  'post_author' => um_user('ID'),
318
  );
319
+
320
  $form_id = wp_insert_post( $form );
321
+
322
  foreach( $this->core_directory_meta[$id] as $key => $value ) {
323
  if ( $key == '_um_custom_fields' ) {
324
  $array = unserialize( $value );
327
  update_post_meta($form_id, $key, $value);
328
  }
329
  }
330
+
331
  $this->setup_shortcode[$id] = '[ultimatemember form_id='.$form_id.']';
332
 
333
  $core_directories[ $form_id ] = $form_id;
334
+
335
  }
336
  /** DONE **/
337
+
338
  }
339
  if ( isset( $core_directories ) ) update_option('um_core_directories', $core_directories);
340
+
341
  // Install Core Pages
342
  foreach($this->core_pages as $slug => $array ) {
343
 
347
  **/
348
  $page_exists = $ultimatemember->query->find_post_id('page','_um_core', $slug);
349
  if ( !$page_exists ) {
350
+
351
  if ( $slug == 'logout' ) {
352
  $content = '';
353
  } else if ( $slug == 'account' ) {
359
  } else {
360
  $content = $this->setup_shortcode[$slug];
361
  }
362
+
363
  $user_page = array(
364
  'post_title' => $array['title'],
365
  'post_content' => $content,
369
  'post_author' => um_user('ID'),
370
  'comment_status' => 'closed'
371
  );
372
+
373
  $post_id = wp_insert_post( $user_page );
374
  wp_update_post( array('ID' => $post_id, 'post_type' => 'page' ) );
375
+
376
  update_post_meta($post_id, '_um_core', $slug);
377
+
378
  $core_pages[ $slug ] = $post_id;
379
+
380
  }
381
  /** DONE **/
382
+
383
  }
384
  if ( isset( $core_pages ) ) {
385
  update_option('um_core_pages', $core_pages);
391
  update_option('um_options', $options );
392
  }
393
  }
394
+
395
  }
396
+
397
  }
398
+
399
  /***
400
  *** @First setup of core roles
401
  ***/
402
  function install_default_roles(){
403
+
404
  if ( !get_option('um_first_setup_roles') ) {
405
 
406
  update_option('um_first_setup_roles', 1);
407
+
408
  $users = get_users( array('fields' => 'ID') );
409
  foreach( $users as $id ) {
410
 
411
  delete_user_meta( $id, 'account_status' );
412
  delete_user_meta( $id, 'role' );
413
+
414
  update_user_meta( $id, 'account_status', 'approved' );
415
+
416
  if ( !is_super_admin( $id ) ) {
417
  if ( is_numeric( $id ) ) {
418
  update_user_meta( $id, 'role', 'member' );
422
  update_user_meta( $id, 'role', 'admin' );
423
  }
424
  }
425
+
426
  }
427
 
428
  }
429
+
430
  if ( !get_option('um_hashed_passwords_fix') ) {
431
  update_option('um_hashed_passwords_fix', 1);
432
  $users = get_users( array('fields' => 'ID') );
434
  delete_user_meta( $id, '_um_cool_but_hard_to_guess_plain_pw' );
435
  }
436
  }
437
+
438
  }
439
+
440
  /***
441
  *** @Build default roles
442
  ***/
443
  function install_posts_roles(){
444
+
445
  global $wpdb, $ultimatemember;
446
+
447
+ if ( !isset( $ultimatemember->query ) || ! method_exists( $ultimatemember->query, 'get_roles' ) ) {
448
+ return;
449
+ } else {
450
+ //die('Method loaded!');
451
+ }
452
+
453
  $admin = $ultimatemember->query->find_post_id('um_role','_um_core','admin');
454
 
455
  if ( !$admin && current_user_can('manage_options') && um_user('ID') ){
456
+
457
  $admin_role = array(
458
  'post_title' => 'Admin',
459
  'post_name' => 'admin',
461
  'post_status' => 'publish',
462
  'post_author' => um_user('ID'),
463
  );
464
+
465
  $post_id = wp_insert_post( $admin_role );
466
+
467
  foreach( $this->get_initial_permissions('admin') as $key => $value ) update_post_meta($post_id, "_um_" . $key, $value);
468
+
469
  }
470
+
471
  $member = $ultimatemember->query->find_post_id('um_role','_um_core','member');
472
+
473
  if ( !$member && current_user_can('manage_options') && um_user('ID') ){
474
+
475
  $member_role = array(
476
  'post_title' => 'Member',
477
  'post_name' => 'member',
479
  'post_status' => 'publish',
480
  'post_author' => um_user('ID'),
481
  );
482
+
483
  $post_id = wp_insert_post( $member_role );
484
+
485
  foreach( $this->get_initial_permissions('member') as $key => $value ) update_post_meta($post_id, "_um_" . $key, $value);
486
+
487
  }
488
+
489
  }
490
 
491
+ }
core/um-short-functions.php CHANGED
@@ -34,7 +34,35 @@
34
  $message = um_convert_tags( $message, $args );
35
  wp_mail( $email, $subject_line, $message, $headers, $attachments );
36
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  /***
39
  *** @convert template tags
40
  ***/
@@ -49,6 +77,7 @@
49
  '{email}',
50
  '{password}',
51
  '{login_url}',
 
52
  '{site_name}',
53
  '{site_url}',
54
  '{account_activation_link}',
@@ -71,6 +100,7 @@
71
  um_user('user_email'),
72
  um_user('_um_cool_but_hard_to_guess_plain_pw'),
73
  um_get_core_page('login'),
 
74
  um_get_option('site_name'),
75
  get_bloginfo('url'),
76
  um_user('account_activation_link'),
@@ -90,6 +120,17 @@
90
  $content = str_replace($args['tags'], $args['tags_replace'], $content);
91
  }
92
 
 
 
 
 
 
 
 
 
 
 
 
93
  return $content;
94
 
95
  }
@@ -1168,6 +1209,17 @@ function um_user( $data, $attrs = null ) {
1168
  case 'display_name':
1169
 
1170
  $op = um_get_option('display_name');
 
 
 
 
 
 
 
 
 
 
 
1171
 
1172
  if ( $op == 'full_name' ) {
1173
  if ( um_user('first_name') && um_user('last_name') ) {
@@ -1175,11 +1227,14 @@ function um_user( $data, $attrs = null ) {
1175
  } else {
1176
  $name = um_profile( $data );
1177
  }
 
 
 
1178
  }
1179
 
1180
  if ( $op == 'sur_name' ) {
1181
  if ( um_user('first_name') && um_user('last_name') ) {
1182
- $name = um_user('last_name') . ', ' . um_user('first_name');
1183
  } else {
1184
  $name = um_profile( $data );
1185
  }
@@ -1214,11 +1269,7 @@ function um_user( $data, $attrs = null ) {
1214
  $name = um_profile( $data );
1215
  }
1216
  }
1217
-
1218
- if ( $op == 'public_name' ) {
1219
- $name = um_profile( $data );
1220
- }
1221
-
1222
  if ( $op == 'field' && um_get_option('display_name_field') != '' ) {
1223
  $fields = array_filter(preg_split('/[,\s]+/', um_get_option('display_name_field') ));
1224
  $name = '';
34
  $message = um_convert_tags( $message, $args );
35
  wp_mail( $email, $subject_line, $message, $headers, $attachments );
36
  }
37
+
38
+ /***
39
+ *** @Trim string by char length
40
+ ***/
41
+ function um_trim_string( $s, $length = 20 ) {
42
+ $s = strlen($s) > $length ? substr($s,0,$length)."..." : $s;
43
+ return $s;
44
+ }
45
+
46
+ /***
47
+ *** @Convert urls to clickable links
48
+ ***/
49
+ function um_clickable_links($s) {
50
+ return preg_replace('@(https?://([-\w\.]+[-\w])+(:\d+)?(/([\w/_\.#-]*(\?\S+)?[^\.\s])?)?)@', '<a href="$1" class="um-link" target="_blank">$1</a>', $s);
51
+ }
52
 
53
+ /***
54
+ *** @Get where user should be headed after logging
55
+ ***/
56
+ function um_dynamic_login_page_redirect( $redirect_to = '' ) {
57
+ global $ultimatemember;
58
+ $uri = um_get_core_page( 'login' );
59
+ if ( ! $redirect_to ) {
60
+ $redirect_to = $ultimatemember->permalinks->get_current_url();
61
+ }
62
+ $uri = add_query_arg( 'redirect_to', $redirect_to, $uri );
63
+ return $uri;
64
+ }
65
+
66
  /***
67
  *** @convert template tags
68
  ***/
77
  '{email}',
78
  '{password}',
79
  '{login_url}',
80
+ '{login_referrer}',
81
  '{site_name}',
82
  '{site_url}',
83
  '{account_activation_link}',
100
  um_user('user_email'),
101
  um_user('_um_cool_but_hard_to_guess_plain_pw'),
102
  um_get_core_page('login'),
103
+ um_dynamic_login_page_redirect(),
104
  um_get_option('site_name'),
105
  get_bloginfo('url'),
106
  um_user('account_activation_link'),
120
  $content = str_replace($args['tags'], $args['tags_replace'], $content);
121
  }
122
 
123
+ $regex = '~\{([^}]*)\}~';
124
+ preg_match_all($regex, $content, $matches);
125
+
126
+ // Support for all usermeta keys
127
+ if ( isset( $matches[1] ) && is_array( $matches[1] ) && !empty( $matches[1] ) ) {
128
+ foreach( $matches[1] as $match ) {
129
+ $strip_key = str_replace('usermeta:','', $match );
130
+ $content = str_replace( '{' . $match . '}', um_user( $strip_key ), $content);
131
+ }
132
+ }
133
+
134
  return $content;
135
 
136
  }
1209
  case 'display_name':
1210
 
1211
  $op = um_get_option('display_name');
1212
+
1213
+ $name = '';
1214
+
1215
+
1216
+ if ( $op == 'default' ) {
1217
+ $name = um_profile('display_name');
1218
+ }
1219
+
1220
+ if ( $op == 'nickname' ) {
1221
+ $name = um_profile('nickname');
1222
+ }
1223
 
1224
  if ( $op == 'full_name' ) {
1225
  if ( um_user('first_name') && um_user('last_name') ) {
1227
  } else {
1228
  $name = um_profile( $data );
1229
  }
1230
+ if ( ! $name ) {
1231
+ $name = um_user('user_login');
1232
+ }
1233
  }
1234
 
1235
  if ( $op == 'sur_name' ) {
1236
  if ( um_user('first_name') && um_user('last_name') ) {
1237
+ $name = um_user('last_name') . ' ' . um_user('first_name');
1238
  } else {
1239
  $name = um_profile( $data );
1240
  }
1269
  $name = um_profile( $data );
1270
  }
1271
  }
1272
+
 
 
 
 
1273
  if ( $op == 'field' && um_get_option('display_name_field') != '' ) {
1274
  $fields = array_filter(preg_split('/[,\s]+/', um_get_option('display_name_field') ));
1275
  $name = '';
core/um-shortcodes.php CHANGED
@@ -9,7 +9,10 @@ class UM_Shortcodes {
9
  $this->loop = '';
10
 
11
  add_shortcode('ultimatemember', array(&$this, 'ultimatemember'), 1);
12
-
 
 
 
13
  add_filter( 'body_class', array(&$this, 'body_class'), 0 );
14
 
15
  $this->emoji[':)'] = 'https://s.w.org/images/core/emoji/72x72/1f604.png';
@@ -175,6 +178,57 @@ class UM_Shortcodes {
175
  return $classes;
176
  }
177
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
178
  /***
179
  *** @Shortcode
180
  ***/
@@ -369,6 +423,14 @@ class UM_Shortcodes {
369
  $shortcode = '[ultimatemember form_id='.$post_id.']';
370
  return $shortcode;
371
  }
 
 
 
 
 
 
 
 
372
 
373
  /***
374
  *** @convert user tags in a string
9
  $this->loop = '';
10
 
11
  add_shortcode('ultimatemember', array(&$this, 'ultimatemember'), 1);
12
+
13
+ add_shortcode('um_loggedin', array(&$this, 'um_loggedin') );
14
+ add_shortcode('um_loggedout', array(&$this, 'um_loggedout') );
15
+
16
  add_filter( 'body_class', array(&$this, 'body_class'), 0 );
17
 
18
  $this->emoji[':)'] = 'https://s.w.org/images/core/emoji/72x72/1f604.png';
178
  return $classes;
179
  }
180
 
181
+ /***
182
+ *** @Logged-in only content
183
+ ***/
184
+ function um_loggedin( $args = array(), $content = "" ) {
185
+ global $ultimatemember;
186
+ ob_start();
187
+
188
+ $defaults = array(
189
+ 'lock_text' => __('This content has been restricted to logged in users only. Please <a href="{login_referrer}">login</a> to view this content.','ultimatemember' ),
190
+ 'show_lock' => 'yes'
191
+ );
192
+
193
+ $args = wp_parse_args( $args, $defaults );
194
+
195
+ //$args['lock_text'] = $this->convert_locker_tags( $args['lock_text'] );
196
+
197
+ if ( !is_user_logged_in() ) {
198
+ if ( $args['show_lock'] == 'no' ) {
199
+ echo '';
200
+ } else {
201
+ $ultimatemember->shortcodes->set_args = $args;
202
+ $ultimatemember->shortcodes->load_template( 'login-to-view' );
203
+ }
204
+ } else {
205
+ echo do_shortcode( $this->convert_locker_tags( wpautop( $content ) ) );
206
+ }
207
+
208
+ $output = ob_get_contents();
209
+ ob_end_clean();
210
+ return $output;
211
+ }
212
+
213
+ /***
214
+ *** @Logged-out only content
215
+ ***/
216
+ function um_loggedout( $args = array(), $content = "" ) {
217
+ global $ultimatemember;
218
+ ob_start();
219
+
220
+ // Hide for logged in users
221
+ if ( is_user_logged_in() ) {
222
+ echo '';
223
+ } else {
224
+ echo do_shortcode( wpautop( $content ) );
225
+ }
226
+
227
+ $output = ob_get_contents();
228
+ ob_end_clean();
229
+ return $output;
230
+ }
231
+
232
  /***
233
  *** @Shortcode
234
  ***/
423
  $shortcode = '[ultimatemember form_id='.$post_id.']';
424
  return $shortcode;
425
  }
426
+
427
+ /***
428
+ *** @convert access lock tags
429
+ ***/
430
+ function convert_locker_tags( $str ) {
431
+ $str = um_convert_tags( $str );
432
+ return $str;
433
+ }
434
 
435
  /***
436
  *** @convert user tags in a string
core/um-user.php CHANGED
@@ -44,6 +44,49 @@ class UM_User {
44
  add_action('um_when_role_is_set', array(&$this, 'remove_cache') );
45
  add_action('um_when_status_is_set', array(&$this, 'remove_cache') );
46
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
47
  }
48
 
49
  /***
@@ -198,6 +241,7 @@ class UM_User {
198
 
199
  // add user meta
200
  foreach($this->usermeta as $k=>$v){
 
201
  $this->profile[$k] = $v[0];
202
  }
203
 
44
  add_action('um_when_role_is_set', array(&$this, 'remove_cache') );
45
  add_action('um_when_status_is_set', array(&$this, 'remove_cache') );
46
 
47
+ add_action( 'show_user_profile', array( $this, 'community_role_edit' ) );
48
+ add_action( 'edit_user_profile', array( $this, 'community_role_edit' ) );
49
+ add_action( 'personal_options_update', array( $this, 'community_role_save' ) );
50
+ add_action( 'edit_user_profile_update', array( $this, 'community_role_save' ) );
51
+
52
+ }
53
+
54
+ /**
55
+ * Allow changing community role
56
+ */
57
+ function community_role_edit( $user ) {
58
+ global $ultimatemember;
59
+ if ( current_user_can( 'edit_users' ) && current_user_can( 'edit_user', $user->ID ) ) {
60
+ $user = get_userdata( $user->ID );
61
+ ?>
62
+ <table class="form-table">
63
+ <tbody>
64
+ <tr>
65
+ <th>
66
+ <label for="um_role"><?php _e( 'Community Role', 'ultimatemember' ); ?></label>
67
+ </th>
68
+ <td>
69
+ <select name="um_role" id="um_role">
70
+ <?php foreach( $ultimatemember->query->get_roles() as $key => $value ) { ?>
71
+ <option value="<?php echo $key; ?>" <?php selected( um_user('role'), $key ); ?> ><?php echo $value; ?></option>
72
+ <?php } ?>
73
+ </select>
74
+ <span class="description"><?php _e( 'Assign or change the community role for this user', 'ultimatemember' ); ?></span>
75
+ </td>
76
+ </tr>
77
+ </tbody>
78
+ </table>
79
+ <?php }
80
+ }
81
+
82
+ /**
83
+ * Save community role
84
+ */
85
+ public function community_role_save( $user_id ) {
86
+ if ( current_user_can( 'edit_user', $user_id ) && isset( $_POST['um_role'] ) ) {
87
+ update_user_meta( $user_id, 'role', sanitize_title_with_dashes( $_POST['um_role'] ) );
88
+ delete_option( "um_cache_userdata_{$user_id}" );
89
+ }
90
  }
91
 
92
  /***
241
 
242
  // add user meta
243
  foreach($this->usermeta as $k=>$v){
244
+ if ( $k == 'display_name') continue;
245
  $this->profile[$k] = $v[0];
246
  }
247
 
index.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Ultimate Member
4
  Plugin URI: http://ultimatemember.com/
5
  Description: The easiest way to create powerful online communities and beautiful user profiles with WordPress
6
- Version: 1.3.35
7
  Author: Ultimate Member
8
  Author URI: http://ultimatemember.com/
9
  */
3
  Plugin Name: Ultimate Member
4
  Plugin URI: http://ultimatemember.com/
5
  Description: The easiest way to create powerful online communities and beautiful user profiles with WordPress
6
+ Version: 1.3.36
7
  Author: Ultimate Member
8
  Author URI: http://ultimatemember.com/
9
  */
readme.txt CHANGED
@@ -1,4 +1,4 @@
1
- === Ultimate Member ===
2
  Author URI: https://ultimatemember.com/
3
  Plugin URI: https://ultimatemember.com/
4
  Contributors: ultimatemember, champsupertramp
@@ -7,7 +7,7 @@ Tags: access control, author, authors, author profile, comments, community, comm
7
  Requires at least: 4.1
8
  Tested up to: 4.4
9
 
10
- Stable Tag: 1.3.35
11
 
12
  License: GNU Version 2 or Any Later Version
13
 
@@ -44,6 +44,7 @@ Read about all of the plugin's features at [Ultimate Member](https://ultimatemem
44
 
45
  Ultimate Member has a range of extensions that allow you to extend the power of the plugin
46
 
 
47
  * [Social Activity](https://ultimatemember.com/extensions/social-activity/) - Let users create public wall posts & see the activity of other users
48
  * [WooCommerce](https://ultimatemember.com/extensions/woocommerce/) - Allow you to integrate WooCommerce with Ultimate Member
49
  * [Private Messages](https://ultimatemember.com/extensions/private-messages/) - Add a private messaging system to your site & allow users to message each other
@@ -69,7 +70,7 @@ If you're a developer and would like to contribute to the source code of the plu
69
 
70
  = Documentation & Support =
71
 
72
- Got a problem or need help with Ultimate Member? Head over to our [documentation](http://docs.ultimatemember.com/) and perform a search of the knowledge base. If you can’t find a solution to your issue then you can create a [support ticket](https://ultimatemember.com/support-contact/).
73
 
74
  = Languages =
75
 
@@ -146,6 +147,30 @@ The plugin works with popular caching plugins by automatically excluding Ultimat
146
 
147
  == Changelog ==
148
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
149
  = 1.3.35: December 15, 2015 =
150
 
151
  * Fixed: registration/login issues resolved
1
+ === Ultimate Member ===
2
  Author URI: https://ultimatemember.com/
3
  Plugin URI: https://ultimatemember.com/
4
  Contributors: ultimatemember, champsupertramp
7
  Requires at least: 4.1
8
  Tested up to: 4.4
9
 
10
+ Stable Tag: 1.3.36
11
 
12
  License: GNU Version 2 or Any Later Version
13
 
44
 
45
  Ultimate Member has a range of extensions that allow you to extend the power of the plugin
46
 
47
+ * [User Tags](https://ultimatemember.com/extensions/user-tags/) - Lets you add a user tag system to your website
48
  * [Social Activity](https://ultimatemember.com/extensions/social-activity/) - Let users create public wall posts & see the activity of other users
49
  * [WooCommerce](https://ultimatemember.com/extensions/woocommerce/) - Allow you to integrate WooCommerce with Ultimate Member
50
  * [Private Messages](https://ultimatemember.com/extensions/private-messages/) - Add a private messaging system to your site & allow users to message each other
70
 
71
  = Documentation & Support =
72
 
73
+ Got a problem or need help with Ultimate Member? Head over to our [documentation](http://docs.ultimatemember.com/) and perform a search of the knowledge base. If you can’t find a solution to your issue then you can create a [support ticket](https://ultimatemember.com/support/).
74
 
75
  = Languages =
76
 
147
 
148
  == Changelog ==
149
 
150
+ = 1.3.36: January 6, 2016 =
151
+
152
+ * New: added in-page content restriction to protect content for logged-in or logged out users
153
+ * New: added community role field to user creation in backend
154
+ * New: added community role field to user editing in backend
155
+ * New: show specific users in members directory
156
+ * New: added a new field type: Number
157
+ * New: added filter hooks to specific profile fields
158
+ * New: added custom admin bulk actions support
159
+ * New: added usermeta support to content locking feature in-page
160
+ * Tweak: several tweaks in core to be more WordPress native
161
+ * Tweak: added fallback for page setup selections
162
+ * Tweak: automatic clickable links in profile header bio
163
+ * Tweak: trim long field labels in backend fields modal
164
+ * Fixed: profile page SEO title
165
+ * Fixed: multi-site redirect support
166
+ * Fixed: activation hash comparison
167
+ * Fixed: page setup fallback field
168
+ * Fixed: prevents php warnings and notices
169
+ * Fixed: WP-CLI and cronjobs issues
170
+ * Fixed: category posts restriction and redirection
171
+ * Fixed: category access settings
172
+ * Fixed: activation link
173
+
174
  = 1.3.35: December 15, 2015 =
175
 
176
  * Fixed: registration/login issues resolved
templates/login-to-view.php ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ <div class="um-locked-content">
2
+
3
+ <div class="um-locked-content-msg"><?php echo $lock_text; ?></div>
4
+
5
+ </div>
templates/profile.php CHANGED
@@ -1,4 +1,4 @@
1
- <div class="um <?php echo $this->get_class( $mode ); ?> um-<?php echo $form_id; ?>">
2
 
3
  <div class="um-form">
4
 
1
+ <div class="um <?php echo $this->get_class( $mode ); ?> um-<?php echo $form_id; ?> um-role-<?php echo um_user('role'); ?> ">
2
 
3
  <div class="um-form">
4
 
um-config.php CHANGED
@@ -20,16 +20,30 @@ $core_pages = array(
20
  $core_pages = apply_filters('um_core_pages', $core_pages );
21
 
22
  foreach( $core_pages as $page_s => $page ) {
23
- $page_setup[] = array(
24
- 'id' => 'core_' . $page_s,
25
- 'type' => 'select',
26
- 'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ),
27
- 'title' => $page,
28
- 'default' => ( isset( $ultimatemember->permalinks->core[ $page_s ] ) ) ? $ultimatemember->permalinks->core[ $page_s ] : '' ,
29
- 'options' => $ultimatemember->query->wp_pages(),
30
- 'placeholder' => __('Choose a page...','ultimatemember'),
31
- 'compiler' => true,
32
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  }
34
 
35
  $this->sections[] = array(
@@ -56,7 +70,7 @@ function um_core_page_setting_saved($options, $css, $changed_values) {
56
  'password-reset' => __('Password reset page','ultimatemember'),
57
  );
58
  $pages = get_option('um_core_pages');
59
-
60
  $core_pages = apply_filters('um_core_pages', $core_pages );
61
 
62
  foreach( $core_pages as $slug => $page ) {
@@ -68,13 +82,13 @@ function um_core_page_setting_saved($options, $css, $changed_values) {
68
  /***
69
  *** @
70
  ***/
71
-
72
  $this->sections[] = array(
73
 
74
  'icon' => 'um-faicon-user',
75
  'title' => __( 'Users','ultimatemember'),
76
  'fields' => array(
77
-
78
  array(
79
  'id' => 'default_role',
80
  'type' => 'select',
@@ -85,7 +99,7 @@ $this->sections[] = array(
85
  'options' => $ultimatemember->query->get_roles(),
86
  'placeholder' => __('Choose user role...','ultimatemember'),
87
  ),
88
-
89
  array(
90
  'id' => 'permalink_base',
91
  'type' => 'select',
@@ -101,7 +115,7 @@ $this->sections[] = array(
101
  ),
102
  'placeholder' => __('Select...','ultimatemember')
103
  ),
104
-
105
  array(
106
  'id' => 'display_name',
107
  'type' => 'select',
@@ -110,18 +124,19 @@ $this->sections[] = array(
110
  'desc' => __( 'This is the name that will be displayed for users on the front end of your site. Default setting uses first/last name as display name if it exists','ultimatemember' ),
111
  'default' => 'full_name',
112
  'options' => array(
 
 
113
  'username' => __('Username','ultimatemember'),
114
  'full_name' => __('First name & last name','ultimatemember'),
115
  'sur_name' => __('Last name & first name','ultimatemember'),
116
  'initial_name' => __('First name & first initial of last name','ultimatemember'),
117
  'initial_name_f' => __('First initial of first name & last name','ultimatemember'),
118
  'first_name' => __('First name only','ultimatemember'),
119
- 'public_name' => __('Display name','ultimatemember'),
120
  'field' => __('Custom field(s)','ultimatemember'),
121
  ),
122
  'placeholder' => __('Select...')
123
  ),
124
-
125
  array(
126
  'id' => 'display_name_field',
127
  'type' => 'text',
@@ -129,7 +144,7 @@ $this->sections[] = array(
129
  'desc' => __('Specify the custom field meta key or custom fields seperated by comma that you want to use to display users name on the frontend of your site','ultimatemember'),
130
  'required' => array( 'display_name', '=', 'field' ),
131
  ),
132
-
133
  array(
134
  'id' => 'author_redirect',
135
  'type' => 'switch',
@@ -139,7 +154,7 @@ $this->sections[] = array(
139
  'on' => __('Yes','ultimatemember'),
140
  'off' => __('No','ultimatemember'),
141
  ),
142
-
143
  array(
144
  'id' => 'members_page',
145
  'type' => 'switch',
@@ -149,7 +164,7 @@ $this->sections[] = array(
149
  'on' => __('Yes','ultimatemember'),
150
  'off' => __('No','ultimatemember'),
151
  ),
152
-
153
  array(
154
  'id' => 'use_gravatars',
155
  'type' => 'switch',
@@ -159,7 +174,7 @@ $this->sections[] = array(
159
  'on' => __('Yes','ultimatemember'),
160
  'off' => __('No','ultimatemember'),
161
  ),
162
-
163
  array(
164
  'id' => 'reset_require_strongpass',
165
  'type' => 'switch',
@@ -169,7 +184,7 @@ $this->sections[] = array(
169
  'on' => __('On','ultimatemember'),
170
  'off' => __('Off','ultimatemember'),
171
  ),
172
-
173
  )
174
 
175
  );
@@ -177,13 +192,13 @@ $this->sections[] = array(
177
  /***
178
  *** @
179
  ***/
180
-
181
  $this->sections[] = array(
182
 
183
  'icon' => 'um-faicon-cog',
184
  'title' => __( 'Account','ultimatemember'),
185
  'fields' => array(
186
-
187
  array(
188
  'id' => 'account_tab_password',
189
  'type' => 'switch',
@@ -193,7 +208,7 @@ $this->sections[] = array(
193
  'on' => __('On','ultimatemember'),
194
  'off' => __('Off','ultimatemember'),
195
  ),
196
-
197
  array(
198
  'id' => 'account_tab_privacy',
199
  'type' => 'switch',
@@ -203,7 +218,7 @@ $this->sections[] = array(
203
  'on' => __('On','ultimatemember'),
204
  'off' => __('Off','ultimatemember'),
205
  ),
206
-
207
  array(
208
  'id' => 'account_tab_notifications',
209
  'type' => 'switch',
@@ -213,7 +228,7 @@ $this->sections[] = array(
213
  'on' => __('On','ultimatemember'),
214
  'off' => __('Off','ultimatemember'),
215
  ),
216
-
217
  array(
218
  'id' => 'account_tab_delete',
219
  'type' => 'switch',
@@ -223,7 +238,7 @@ $this->sections[] = array(
223
  'on' => __('On','ultimatemember'),
224
  'off' => __('Off','ultimatemember'),
225
  ),
226
-
227
  array(
228
  'id' => 'delete_account_text',
229
  'type' => 'textarea', // bug with wp 4.4? should be editor
@@ -236,7 +251,7 @@ $this->sections[] = array(
236
  'textarea_rows' => 6
237
  ),
238
  ),
239
-
240
  array(
241
  'id' => 'account_name',
242
  'type' => 'switch',
@@ -246,7 +261,7 @@ $this->sections[] = array(
246
  'on' => __('On','ultimatemember'),
247
  'off' => __('Off','ultimatemember'),
248
  ),
249
-
250
  array(
251
  'id' => 'account_email',
252
  'type' => 'switch',
@@ -256,7 +271,7 @@ $this->sections[] = array(
256
  'on' => __('On','ultimatemember'),
257
  'off' => __('Off','ultimatemember'),
258
  ),
259
-
260
  array(
261
  'id' => 'account_require_strongpass',
262
  'type' => 'switch',
@@ -289,7 +304,7 @@ $this->sections[] = array(
289
  'default' => $ultimatemember->validation->randomize(),
290
  'desc' => trailingslashit( get_bloginfo('url') ).'wp-admin/?um_panic_key=<strong>your_panic_key</strong>'
291
  ),
292
-
293
  array(
294
  'id' => 'accessible',
295
  'type' => 'select',
@@ -310,7 +325,7 @@ $this->sections[] = array(
310
  'desc' => __('A logged out user will be redirected to this url If he is not permitted to access the site','ultimatemember'),
311
  'required' => array( 'accessible', '=', 2 ),
312
  ),
313
-
314
  array(
315
  'id' => 'access_exclude_uris',
316
  'type' => 'multi_text',
@@ -320,7 +335,7 @@ $this->sections[] = array(
320
  'add_text' => __('Add New URL','ultimatemember'),
321
  'required' => array( 'accessible', '=', 2 ),
322
  ),
323
-
324
  array(
325
  'id' => 'wpadmin_login',
326
  'type' => 'switch',
@@ -330,7 +345,7 @@ $this->sections[] = array(
330
  'on' => __('Yes','ultimatemember'),
331
  'off' => __('No','ultimatemember'),
332
  ),
333
-
334
  array(
335
  'id' => 'deny_admin_frontend_login',
336
  'type' => 'switch',
@@ -340,7 +355,7 @@ $this->sections[] = array(
340
  'on' => __('Yes','ultimatemember'),
341
  'off' => __('No','ultimatemember'),
342
  ),
343
-
344
  array(
345
  'id' => 'wpadmin_login_redirect',
346
  'type' => 'select',
@@ -354,7 +369,7 @@ $this->sections[] = array(
354
  'custom_url' => 'Custom URL',
355
  )
356
  ),
357
-
358
  array(
359
  'id' => 'wpadmin_login_redirect_url',
360
  'type' => 'text',
@@ -362,7 +377,7 @@ $this->sections[] = array(
362
  'desc' => __('Enter an alternate url here to redirect a user If they try to access the backend register screen','ultimatemember'),
363
  'required' => array( 'wpadmin_login_redirect', '=', 'custom_url' ),
364
  ),
365
-
366
  array(
367
  'id' => 'wpadmin_register',
368
  'type' => 'switch',
@@ -372,7 +387,7 @@ $this->sections[] = array(
372
  'on' => __('Yes','ultimatemember'),
373
  'off' => __('No','ultimatemember'),
374
  ),
375
-
376
  array(
377
  'id' => 'wpadmin_register_redirect',
378
  'type' => 'select',
@@ -386,7 +401,7 @@ $this->sections[] = array(
386
  'custom_url' => 'Custom URL',
387
  )
388
  ),
389
-
390
  array(
391
  'id' => 'wpadmin_register_redirect_url',
392
  'type' => 'text',
@@ -394,7 +409,7 @@ $this->sections[] = array(
394
  'desc' => __('Enter an alternate url here to redirect a user If they try to access the backend register screen','ultimatemember'),
395
  'required' => array( 'wpadmin_register_redirect', '=', 'custom_url' ),
396
  ),
397
-
398
  array(
399
  'id' => 'access_widget_admin_only',
400
  'type' => 'switch',
@@ -403,28 +418,28 @@ $this->sections[] = array(
403
  'on' => __('Yes','ultimatemember'),
404
  'off' => __('No','ultimatemember'),
405
  ),
406
-
407
  array(
408
  'id' => 'wpadmin_allow_ips',
409
  'type' => 'textarea',
410
  'title' => __( 'Whitelisted Backend IPs','ultimatemember' ),
411
  'desc' => __('Always allow the specified IP addresses to access the backend login screen and WP-admin to avoid being locked from site backend.','ultimatemember'),
412
  ),
413
-
414
  array(
415
  'id' => 'blocked_ips',
416
  'type' => 'textarea',
417
  'title' => __( 'Blocked IP Addresses','ultimatemember' ),
418
  'desc' => __('This will block the listed IPs from signing up or signing in to the site, you can use full IP numbers or target specific range with a wildcard','ultimatemember'),
419
  ),
420
-
421
  array(
422
  'id' => 'blocked_emails',
423
  'type' => 'textarea',
424
  'title' => __( 'Blocked Email Addresses','ultimatemember' ),
425
  'desc' => __('This will block the specified e-mail addresses from being able to sign up or sign in to your site. To block an entire domain, use something like *@domain.com','ultimatemember'),
426
  ),
427
-
428
  array(
429
  'id' => 'blocked_words',
430
  'type' => 'textarea',
@@ -432,7 +447,7 @@ $this->sections[] = array(
432
  'desc' => __('This option lets you specify blacklist of words to prevent anyone from signing up with such a word as their username','ultimatemember'),
433
  'default' => 'admin' . "\r\n" . 'administrator' . "\r\n" . 'webmaster' . "\r\n" . 'support' . "\r\n" . 'staff'
434
  ),
435
-
436
  )
437
 
438
  );
@@ -440,7 +455,7 @@ $this->sections[] = array(
440
  /***
441
  *** @
442
  ***/
443
-
444
  $this->sections[] = array(
445
 
446
  'icon' => 'um-faicon-envelope-o',
@@ -470,7 +485,7 @@ $this->sections[] = array(
470
  'default' => 0,
471
  'desc' => __('If you enable HTML for e-mails, you can customize the HTML e-mail templates found in <strong>templates/email</strong> folder.','ultimatemember'),
472
  ),
473
-
474
  array(
475
  'id' => 'welcome_email_on',
476
  'type' => 'switch',
@@ -478,7 +493,7 @@ $this->sections[] = array(
478
  'default' => 1,
479
  'desc' => __('Whether to send the user an email when his account is automatically approved','ultimatemember'),
480
  ),
481
-
482
  array(
483
  'id' => 'welcome_email_sub',
484
  'type' => 'text',
@@ -506,7 +521,7 @@ $this->sections[] = array(
506
  'Thanks,' . "\r\n" .
507
  '{site_name}',
508
  ),
509
-
510
  array(
511
  'id' => 'checkmail_email_on',
512
  'type' => 'switch',
@@ -514,7 +529,7 @@ $this->sections[] = array(
514
  'default' => 1,
515
  'desc' => __('Whether to send the user an email when his account needs e-mail activation','ultimatemember'),
516
  ),
517
-
518
  array(
519
  'id' => 'checkmail_email_sub',
520
  'type' => 'text',
@@ -538,7 +553,7 @@ $this->sections[] = array(
538
  'Thanks,' . "\r\n" .
539
  '{site_name}',
540
  ),
541
-
542
  array(
543
  'id' => 'pending_email_on',
544
  'type' => 'switch',
@@ -546,7 +561,7 @@ $this->sections[] = array(
546
  'default' => 1,
547
  'desc' => __('Whether to send the user an email when his account needs admin review','ultimatemember'),
548
  ),
549
-
550
  array(
551
  'id' => 'pending_email_sub',
552
  'type' => 'text',
@@ -570,7 +585,7 @@ $this->sections[] = array(
570
  'Thanks,' . "\r\n" .
571
  '{site_name}',
572
  ),
573
-
574
  array(
575
  'id' => 'approved_email_on',
576
  'type' => 'switch',
@@ -578,7 +593,7 @@ $this->sections[] = array(
578
  'default' => 1,
579
  'desc' => __('Whether to send the user an email when his account is approved','ultimatemember'),
580
  ),
581
-
582
  array(
583
  'id' => 'approved_email_sub',
584
  'type' => 'text',
@@ -606,7 +621,7 @@ $this->sections[] = array(
606
  'Thanks,' . "\r\n" .
607
  '{site_name}',
608
  ),
609
-
610
  array(
611
  'id' => 'rejected_email_on',
612
  'type' => 'switch',
@@ -614,7 +629,7 @@ $this->sections[] = array(
614
  'default' => 1,
615
  'desc' => __('Whether to send the user an email when his account is rejected','ultimatemember'),
616
  ),
617
-
618
  array(
619
  'id' => 'rejected_email_sub',
620
  'type' => 'text',
@@ -645,7 +660,7 @@ $this->sections[] = array(
645
  'default' => 1,
646
  'desc' => __('Whether to send the user an email when his account is deactivated','ultimatemember'),
647
  ),
648
-
649
  array(
650
  'id' => 'inactive_email_sub',
651
  'type' => 'text',
@@ -655,7 +670,7 @@ $this->sections[] = array(
655
  'required' => array( 'inactive_email_on', '=', 1 ),
656
  'desc' => __('This is the subject line of the e-mail','ultimatemember'),
657
  ),
658
-
659
  array(
660
  'id' => 'inactive_email',
661
  'type' => 'textarea',
@@ -676,7 +691,7 @@ $this->sections[] = array(
676
  'default' => 1,
677
  'desc' => __('Whether to send the user an email when his account is deleted','ultimatemember'),
678
  ),
679
-
680
  array(
681
  'id' => 'deletion_email_sub',
682
  'type' => 'text',
@@ -699,7 +714,7 @@ $this->sections[] = array(
699
  'Thanks,' . "\r\n" .
700
  '{site_name}',
701
  ),
702
-
703
  array(
704
  'id' => 'resetpw_email_on',
705
  'type' => 'switch',
@@ -707,7 +722,7 @@ $this->sections[] = array(
707
  'default' => 1,
708
  'desc' => __('Whether to send the user an email when he request to reset password (Recommended, please keep on)','ultimatemember'),
709
  ),
710
-
711
  array(
712
  'id' => 'resetpw_email_sub',
713
  'type' => 'text',
@@ -726,12 +741,12 @@ $this->sections[] = array(
726
  'required' => array( 'resetpw_email_on', '=', 1 ),
727
  'default' => 'Hi {display_name},' . "\r\n\r\n" .
728
  'We received a request to reset the password for your account. If you made this request, click the link below to change your password:' . "\r\n\r\n" .
729
- '{password_reset_link}' . "\r\n\r\n" .
730
  'If you didn\'t make this request, you can ignore this email' . "\r\n\r\n" .
731
  'Thanks,' . "\r\n" .
732
  '{site_name}',
733
  ),
734
-
735
  array(
736
  'id' => 'changedpw_email_on',
737
  'type' => 'switch',
@@ -739,7 +754,7 @@ $this->sections[] = array(
739
  'default' => 1,
740
  'desc' => __('Whether to send the user an email when he request to reset password (Recommended, please keep on)','ultimatemember'),
741
  ),
742
-
743
  array(
744
  'id' => 'changedpw_email_sub',
745
  'type' => 'text',
@@ -758,7 +773,7 @@ $this->sections[] = array(
758
  'required' => array( 'changedpw_email_on', '=', 1 ),
759
  'default' => 'Hi {display_name},' . "\r\n\r\n" .
760
  'You recently changed the password associated with your {site_name} account.' . "\r\n\r\n" .
761
- 'If you did not make this change and believe your {site_name} account has been compromised, please contact us at the following email address: {admin_email}' . "\r\n\r\n" .
762
  'Thanks,' . "\r\n" .
763
  '{site_name}',
764
  ),
@@ -772,7 +787,7 @@ $this->sections[] = array(
772
  ***/
773
 
774
  $this->sections[] = array(
775
-
776
  'icon' => 'um-faicon-bell-o',
777
  'title' => __( 'Notifications','ultimatemember' ),
778
  'fields' => array(
@@ -883,19 +898,19 @@ $this->sections[] = array(
883
  ),
884
 
885
  )
886
-
887
  );
888
 
889
  /***
890
  *** @
891
  ***/
892
-
893
  $this->sections[] = array(
894
 
895
  'icon' => 'um-faicon-cloud-upload',
896
  'title' => __( 'Uploads','ultimatemember'),
897
  'fields' => array(
898
-
899
  array(
900
  'id' => 'profile_photo_max_size',
901
  'type' => 'text',
@@ -903,7 +918,7 @@ $this->sections[] = array(
903
  'desc' => __( 'Sets a maximum size for the uploaded photo','ultimatemember' ),
904
  'validate' => 'numeric',
905
  ),
906
-
907
  array(
908
  'id' => 'cover_photo_max_size',
909
  'type' => 'text',
@@ -911,7 +926,7 @@ $this->sections[] = array(
911
  'desc' => __( 'Sets a maximum size for the uploaded cover','ultimatemember' ),
912
  'validate' => 'numeric',
913
  ),
914
-
915
  array(
916
  'id' => 'photo_thumb_sizes',
917
  'type' => 'multi_text',
@@ -921,7 +936,7 @@ $this->sections[] = array(
921
  'validate' => 'numeric',
922
  'add_text' => __('Add New Size','ultimatemember'),
923
  ),
924
-
925
  array(
926
  'id' => 'cover_thumb_sizes',
927
  'type' => 'multi_text',
@@ -931,7 +946,7 @@ $this->sections[] = array(
931
  'validate' => 'numeric',
932
  'add_text' => __('Add New Size','ultimatemember'),
933
  ),
934
-
935
  array(
936
  'id' => 'image_compression',
937
  'type' => 'text',
@@ -940,7 +955,7 @@ $this->sections[] = array(
940
  'default' => 60,
941
  'validate' => 'numeric',
942
  ),
943
-
944
  array(
945
  'id' => 'image_max_width',
946
  'type' => 'text',
@@ -949,7 +964,7 @@ $this->sections[] = array(
949
  'default' => 1000,
950
  'validate' => 'numeric',
951
  ),
952
-
953
  array(
954
  'id' => 'cover_min_width',
955
  'type' => 'text',
@@ -966,7 +981,7 @@ $this->sections[] = array(
966
  /***
967
  *** @
968
  ***/
969
-
970
  $this->sections[] = array(
971
 
972
  'icon' => 'um-faicon-search',
@@ -988,7 +1003,7 @@ $this->sections[] = array(
988
  'title' => __( 'User Profile Dynamic Meta Description','ultimatemember' ),
989
  'desc' => __('This will be used in the meta description that is available for search-engines.','ultimatemember')
990
  ),
991
-
992
  )
993
 
994
  );
@@ -996,13 +1011,13 @@ $this->sections[] = array(
996
  /***
997
  *** @
998
  ***/
999
-
1000
  $this->sections[] = array(
1001
 
1002
  'icon' => 'um-faicon-paint-brush',
1003
  'title' => __( 'Appearance','ultimatemember'),
1004
  'fields' => array(
1005
-
1006
  )
1007
 
1008
  );
@@ -1012,7 +1027,7 @@ $this->sections[] = array(
1012
  'subsection' => true,
1013
  'title' => __( 'General','ultimatemember'),
1014
  'fields' => array(
1015
-
1016
  array(
1017
  'id' => 'directory_template',
1018
  'type' => 'select',
@@ -1023,7 +1038,7 @@ $this->sections[] = array(
1023
  'options' => $ultimatemember->shortcodes->get_templates( 'members' ),
1024
  'required' => array( 'xxxxxxxxxxxxx', '=', 'sssssssssssssssss' ),
1025
  ),
1026
-
1027
  array(
1028
  'id' => 'active_color',
1029
  'type' => 'color',
@@ -1033,7 +1048,7 @@ $this->sections[] = array(
1033
  'desc' => __('Active color is used commonly with many plugin elements as highlighted color or active selection for example. This color demonstrates the primary active color of the plugin','ultimatemember'),
1034
  'transparent' => false,
1035
  ),
1036
-
1037
  array(
1038
  'id' => 'secondary_color',
1039
  'type' => 'color',
@@ -1043,7 +1058,7 @@ $this->sections[] = array(
1043
  'desc' => __('Secondary color is used for hovers, or active state for some elements of the plugin','ultimatemember'),
1044
  'transparent' => false,
1045
  ),
1046
-
1047
  array(
1048
  'id' => 'primary_btn_color',
1049
  'type' => 'color',
@@ -1052,7 +1067,7 @@ $this->sections[] = array(
1052
  'validate' => 'color',
1053
  'transparent' => false,
1054
  ),
1055
-
1056
  array(
1057
  'id' => 'primary_btn_hover',
1058
  'type' => 'color',
@@ -1061,7 +1076,7 @@ $this->sections[] = array(
1061
  'validate' => 'color',
1062
  'transparent' => false,
1063
  ),
1064
-
1065
  array(
1066
  'id' => 'primary_btn_text',
1067
  'type' => 'color',
@@ -1070,7 +1085,7 @@ $this->sections[] = array(
1070
  'validate' => 'color',
1071
  'transparent' => false,
1072
  ),
1073
-
1074
  array(
1075
  'id' => 'secondary_btn_color',
1076
  'type' => 'color',
@@ -1079,7 +1094,7 @@ $this->sections[] = array(
1079
  'validate' => 'color',
1080
  'transparent' => false,
1081
  ),
1082
-
1083
  array(
1084
  'id' => 'secondary_btn_hover',
1085
  'type' => 'color',
@@ -1088,7 +1103,7 @@ $this->sections[] = array(
1088
  'validate' => 'color',
1089
  'transparent' => false,
1090
  ),
1091
-
1092
  array(
1093
  'id' => 'secondary_btn_text',
1094
  'type' => 'color',
@@ -1097,7 +1112,7 @@ $this->sections[] = array(
1097
  'validate' => 'color',
1098
  'transparent' => false,
1099
  ),
1100
-
1101
  array(
1102
  'id' => 'help_tip_color',
1103
  'type' => 'color',
@@ -1106,9 +1121,9 @@ $this->sections[] = array(
1106
  'validate' => 'color',
1107
  'transparent' => false,
1108
  ),
1109
-
1110
  )
1111
-
1112
  );
1113
 
1114
  $this->sections[] = array(
@@ -1116,7 +1131,7 @@ $this->sections[] = array(
1116
  'subsection' => true,
1117
  'title' => __( 'Form Inputs','ultimatemember'),
1118
  'fields' => array(
1119
-
1120
  array(
1121
  'id' => 'form_field_label',
1122
  'type' => 'color',
@@ -1125,7 +1140,7 @@ $this->sections[] = array(
1125
  'validate' => 'color',
1126
  'transparent' => false,
1127
  ),
1128
-
1129
  array(
1130
  'id' => 'form_border',
1131
  'type' => 'text',
@@ -1133,7 +1148,7 @@ $this->sections[] = array(
1133
  'default' => um_get_metadefault('form_border'),
1134
  'desc' => __('The default border-style for input/fields in UM forms','ultimatemember'),
1135
  ),
1136
-
1137
  array(
1138
  'id' => 'form_border_hover',
1139
  'type' => 'text',
@@ -1141,7 +1156,7 @@ $this->sections[] = array(
1141
  'default' => um_get_metadefault('form_border_hover'),
1142
  'desc' => __('The default border style for fields on hover state','ultimatemember'),
1143
  ),
1144
-
1145
  array(
1146
  'id' => 'form_bg_color',
1147
  'type' => 'color',
@@ -1150,7 +1165,7 @@ $this->sections[] = array(
1150
  'validate' => 'color',
1151
  'transparent' => false,
1152
  ),
1153
-
1154
  array(
1155
  'id' => 'form_bg_color_focus',
1156
  'type' => 'color',
@@ -1159,7 +1174,7 @@ $this->sections[] = array(
1159
  'validate' => 'color',
1160
  'transparent' => false,
1161
  ),
1162
-
1163
  array(
1164
  'id' => 'form_text_color',
1165
  'type' => 'color',
@@ -1168,7 +1183,7 @@ $this->sections[] = array(
1168
  'validate' => 'color',
1169
  'transparent' => false,
1170
  ),
1171
-
1172
  array(
1173
  'id' => 'form_placeholder',
1174
  'type' => 'color',
@@ -1177,7 +1192,7 @@ $this->sections[] = array(
1177
  'validate' => 'color',
1178
  'transparent' => false,
1179
  ),
1180
-
1181
  array(
1182
  'id' => 'form_icon_color',
1183
  'type' => 'color',
@@ -1186,7 +1201,7 @@ $this->sections[] = array(
1186
  'validate' => 'color',
1187
  'transparent' => false,
1188
  ),
1189
-
1190
  array(
1191
  'id' => 'form_asterisk',
1192
  'type' => 'switch',
@@ -1195,7 +1210,7 @@ $this->sections[] = array(
1195
  'on' => __('Yes','ultimatemember'),
1196
  'off' => __('No','ultimatemember'),
1197
  ),
1198
-
1199
  array(
1200
  'id' => 'form_asterisk_color',
1201
  'type' => 'color',
@@ -1205,13 +1220,13 @@ $this->sections[] = array(
1205
  'transparent' => false,
1206
  'required' => array( 'form_asterisk', '=', '1' ),
1207
  ),
1208
-
1209
  )
1210
-
1211
  );
1212
 
1213
  $this->sections[] = array(
1214
-
1215
  'subsection' => true,
1216
  'title' => __( 'Profile','ultimatemember'),
1217
  'fields' => array(
@@ -1225,7 +1240,7 @@ $this->sections[] = array(
1225
  'default' => um_get_metadefault('profile_template'),
1226
  'options' => $ultimatemember->shortcodes->get_templates( 'profile' ),
1227
  ),
1228
-
1229
  array(
1230
  'id' => 'profile_max_width',
1231
  'type' => 'text',
@@ -1233,7 +1248,7 @@ $this->sections[] = array(
1233
  'default' => um_get_metadefault('profile_max_width'),
1234
  'desc' => 'The maximum width this shortcode can take from the page width',
1235
  ),
1236
-
1237
  array(
1238
  'id' => 'profile_area_max_width',
1239
  'type' => 'text',
@@ -1241,7 +1256,7 @@ $this->sections[] = array(
1241
  'default' => um_get_metadefault('profile_area_max_width'),
1242
  'desc' => __('The maximum width of the profile area inside profile (below profile header)','ultimatemember'),
1243
  ),
1244
-
1245
  array(
1246
  'id' => 'profile_align',
1247
  'type' => 'select',
@@ -1255,7 +1270,7 @@ $this->sections[] = array(
1255
  'right' => __('Right aligned','ultimatemember'),
1256
  ),
1257
  ),
1258
-
1259
  array(
1260
  'id' => 'profile_icons',
1261
  'type' => 'select',
@@ -1269,7 +1284,7 @@ $this->sections[] = array(
1269
  'off' => __('Turn off','ultimatemember'),
1270
  ),
1271
  ),
1272
-
1273
  array(
1274
  'id' => 'profile_primary_btn_word',
1275
  'type' => 'text',
@@ -1277,7 +1292,7 @@ $this->sections[] = array(
1277
  'default' => um_get_metadefault('profile_primary_btn_word'),
1278
  'desc' => __('The text that is used for updating profile button','ultimatemember'),
1279
  ),
1280
-
1281
  array(
1282
  'id' => 'profile_secondary_btn',
1283
  'type' => 'switch',
@@ -1287,7 +1302,7 @@ $this->sections[] = array(
1287
  'on' => __('On','ultimatemember'),
1288
  'off' => __('Off','ultimatemember'),
1289
  ),
1290
-
1291
  array(
1292
  'id' => 'profile_secondary_btn_word',
1293
  'type' => 'text',
@@ -1296,7 +1311,7 @@ $this->sections[] = array(
1296
  'desc' => __('The text that is used for cancelling update profile button','ultimatemember'),
1297
  'required' => array( 'profile_secondary_btn', '=', 1 ),
1298
  ),
1299
-
1300
  array(
1301
  'id' => 'profile_role',
1302
  'type' => 'select',
@@ -1306,7 +1321,7 @@ $this->sections[] = array(
1306
  'default' => um_get_metadefault('profile_role'),
1307
  'options' => $ultimatemember->query->get_roles( $add_default = 'Not specific' ),
1308
  ),
1309
-
1310
  array(
1311
  'id' => 'profile_main_bg',
1312
  'type' => 'color',
@@ -1315,7 +1330,7 @@ $this->sections[] = array(
1315
  'validate' => 'color',
1316
  'transparent' => false,
1317
  ),
1318
-
1319
  array(
1320
  'id' => 'profile_header_bg',
1321
  'type' => 'color',
@@ -1324,7 +1339,7 @@ $this->sections[] = array(
1324
  'validate' => 'color',
1325
  'transparent' => false,
1326
  ),
1327
-
1328
  array(
1329
  'id' => 'default_avatar',
1330
  'type' => 'media',
@@ -1334,7 +1349,7 @@ $this->sections[] = array(
1334
  'url' => um_url . 'assets/img/default_avatar.jpg',
1335
  ),
1336
  ),
1337
-
1338
  array(
1339
  'id' => 'default_cover',
1340
  'type' => 'media',
@@ -1343,7 +1358,7 @@ $this->sections[] = array(
1343
  'title' => __('Default Cover Photo', 'ultimatemember'),
1344
  'desc' => __('You can change the default cover photo globally here. Please make sure that the default cover is large enough and respects the ratio you are using for cover photos.', 'ultimatemember'),
1345
  ),
1346
-
1347
  array(
1348
  'id' => 'profile_photosize',
1349
  'type' => 'text',
@@ -1351,7 +1366,7 @@ $this->sections[] = array(
1351
  'default' => um_get_metadefault('profile_photosize'),
1352
  'desc' => __('The global default of profile photo size. This can be overridden by individual form settings','ultimatemember'),
1353
  ),
1354
-
1355
  array(
1356
  'id' => 'profile_photocorner',
1357
  'type' => 'select',
@@ -1365,7 +1380,7 @@ $this->sections[] = array(
1365
  '3' => __('Square','ultimatemember'),
1366
  ),
1367
  ),
1368
-
1369
  array(
1370
  'id' => 'profile_cover_enabled',
1371
  'type' => 'switch',
@@ -1375,7 +1390,7 @@ $this->sections[] = array(
1375
  'on' => __('On','ultimatemember'),
1376
  'off' => __('Off','ultimatemember'),
1377
  ),
1378
-
1379
  array(
1380
  'id' => 'profile_cover_ratio',
1381
  'type' => 'select',
@@ -1384,13 +1399,14 @@ $this->sections[] = array(
1384
  'desc' => __( 'Choose global ratio for cover photos of profiles','ultimatemember' ),
1385
  'default' => um_get_metadefault('profile_cover_ratio'),
1386
  'options' => array(
 
1387
  '2.7:1' => '2.7:1',
1388
  '2.2:1' => '2.2:1',
1389
  '3.2:1' => '3.2:1',
1390
  ),
1391
  'required' => array( 'profile_cover_enabled', '=', 1 ),
1392
  ),
1393
-
1394
  array(
1395
  'id' => 'profile_show_metaicon',
1396
  'type' => 'switch',
@@ -1400,7 +1416,7 @@ $this->sections[] = array(
1400
  'on' => __('On','ultimatemember'),
1401
  'off' => __('Off','ultimatemember'),
1402
  ),
1403
-
1404
  array(
1405
  'id' => 'profile_header_text',
1406
  'type' => 'color',
@@ -1409,7 +1425,7 @@ $this->sections[] = array(
1409
  'validate' => 'color',
1410
  'transparent' => false,
1411
  ),
1412
-
1413
  array(
1414
  'id' => 'profile_header_link_color',
1415
  'type' => 'color',
@@ -1418,7 +1434,7 @@ $this->sections[] = array(
1418
  'validate' => 'color',
1419
  'transparent' => false,
1420
  ),
1421
-
1422
  array(
1423
  'id' => 'profile_header_link_hcolor',
1424
  'type' => 'color',
@@ -1427,7 +1443,7 @@ $this->sections[] = array(
1427
  'validate' => 'color',
1428
  'transparent' => false,
1429
  ),
1430
-
1431
  array(
1432
  'id' => 'profile_header_icon_color',
1433
  'type' => 'color',
@@ -1436,7 +1452,7 @@ $this->sections[] = array(
1436
  'validate' => 'color',
1437
  'transparent' => false,
1438
  ),
1439
-
1440
  array(
1441
  'id' => 'profile_header_icon_hcolor',
1442
  'type' => 'color',
@@ -1445,7 +1461,7 @@ $this->sections[] = array(
1445
  'validate' => 'color',
1446
  'transparent' => false,
1447
  ),
1448
-
1449
  array(
1450
  'id' => 'profile_show_name',
1451
  'type' => 'switch',
@@ -1455,7 +1471,7 @@ $this->sections[] = array(
1455
  'on' => __('On','ultimatemember'),
1456
  'off' => __('Off','ultimatemember'),
1457
  ),
1458
-
1459
  array(
1460
  'id' => 'profile_show_social_links',
1461
  'type' => 'switch',
@@ -1465,7 +1481,7 @@ $this->sections[] = array(
1465
  'on' => __('On','ultimatemember'),
1466
  'off' => __('Off','ultimatemember'),
1467
  ),
1468
-
1469
  array(
1470
  'id' => 'profile_show_bio',
1471
  'type' => 'switch',
@@ -1475,7 +1491,17 @@ $this->sections[] = array(
1475
  'on' => __('On','ultimatemember'),
1476
  'off' => __('Off','ultimatemember'),
1477
  ),
1478
-
 
 
 
 
 
 
 
 
 
 
1479
  array(
1480
  'id' => 'profile_bio_maxchars',
1481
  'type' => 'text',
@@ -1484,7 +1510,7 @@ $this->sections[] = array(
1484
  'desc' => __('Maximum number of characters to allow in user description field in header.','ultimatemember'),
1485
  'required' => array( 'profile_show_bio', '=', 1 ),
1486
  ),
1487
-
1488
  array(
1489
  'id' => 'profile_header_menu',
1490
  'type' => 'select',
@@ -1497,7 +1523,7 @@ $this->sections[] = array(
1497
  'lc' => 'Left of Icon',
1498
  ),
1499
  ),
1500
-
1501
  array(
1502
  'id' => 'profile_empty_text',
1503
  'type' => 'switch',
@@ -1507,7 +1533,7 @@ $this->sections[] = array(
1507
  'on' => __('On','ultimatemember'),
1508
  'off' => __('Off','ultimatemember'),
1509
  ),
1510
-
1511
  array(
1512
  'id' => 'profile_empty_text_emo',
1513
  'type' => 'switch',
@@ -1518,9 +1544,9 @@ $this->sections[] = array(
1518
  'off' => __('Off','ultimatemember'),
1519
  'required' => array( 'profile_empty_text', '=', 1 ),
1520
  ),
1521
-
1522
  )
1523
-
1524
  );
1525
 
1526
  $tabs = $ultimatemember->profile->tabs_primary();
@@ -1569,19 +1595,19 @@ $tab_options[] = array(
1569
  );
1570
 
1571
  $this->sections[] = array(
1572
-
1573
  'subsection' => true,
1574
  'title' => __( 'Profile Menu','ultimatemember'),
1575
  'fields' => $tab_options
1576
-
1577
  );
1578
 
1579
  $this->sections[] = array(
1580
-
1581
  'subsection' => true,
1582
  'title' => __( 'Registration Form','ultimatemember'),
1583
  'fields' => array(
1584
-
1585
  array(
1586
  'id' => 'register_template',
1587
  'type' => 'select',
@@ -1591,7 +1617,7 @@ $this->sections[] = array(
1591
  'default' => um_get_metadefault('register_template'),
1592
  'options' => $ultimatemember->shortcodes->get_templates( 'register' ),
1593
  ),
1594
-
1595
  array(
1596
  'id' => 'register_max_width',
1597
  'type' => 'text',
@@ -1599,7 +1625,7 @@ $this->sections[] = array(
1599
  'default' => um_get_metadefault('register_max_width'),
1600
  'desc' => __('The maximum width this shortcode can take from the page width','ultimatemember'),
1601
  ),
1602
-
1603
  array(
1604
  'id' => 'register_align',
1605
  'type' => 'select',
@@ -1613,7 +1639,7 @@ $this->sections[] = array(
1613
  'right' => __('Right aligned'),
1614
  ),
1615
  ),
1616
-
1617
  array(
1618
  'id' => 'register_icons',
1619
  'type' => 'select',
@@ -1627,7 +1653,7 @@ $this->sections[] = array(
1627
  'off' => __('Turn off'),
1628
  ),
1629
  ),
1630
-
1631
  array(
1632
  'id' => 'register_primary_btn_word',
1633
  'type' => 'text',
@@ -1635,7 +1661,7 @@ $this->sections[] = array(
1635
  'default' => um_get_metadefault('register_primary_btn_word'),
1636
  'desc' => __('The text that is used for primary button text','ultimatemember'),
1637
  ),
1638
-
1639
  array(
1640
  'id' => 'register_secondary_btn',
1641
  'type' => 'switch',
@@ -1645,7 +1671,7 @@ $this->sections[] = array(
1645
  'on' => __('On','ultimatemember'),
1646
  'off' => __('Off','ultimatemember'),
1647
  ),
1648
-
1649
  array(
1650
  'id' => 'register_secondary_btn_word',
1651
  'type' => 'text',
@@ -1654,7 +1680,7 @@ $this->sections[] = array(
1654
  'desc' => __('The text that is used for the secondary button text','ultimatemember'),
1655
  'required' => array( 'register_secondary_btn', '=', 1 ),
1656
  ),
1657
-
1658
  array(
1659
  'id' => 'register_secondary_btn_url',
1660
  'type' => 'text',
@@ -1663,7 +1689,7 @@ $this->sections[] = array(
1663
  'desc' => __('You can replace default link for this button by entering custom URL','ultimatemember'),
1664
  'required' => array( 'login_secondary_btn', '=', 1 ),
1665
  ),
1666
-
1667
  array(
1668
  'id' => 'register_role',
1669
  'type' => 'select',
@@ -1673,17 +1699,17 @@ $this->sections[] = array(
1673
  'default' => um_get_metadefault('register_role'),
1674
  'options' => $ultimatemember->query->get_roles( $add_default = 'Default' ),
1675
  ),
1676
-
1677
  )
1678
-
1679
  );
1680
 
1681
  $this->sections[] = array(
1682
-
1683
  'subsection' => true,
1684
  'title' => __( 'Login Form','ultimatemember'),
1685
  'fields' => array(
1686
-
1687
  array(
1688
  'id' => 'login_template',
1689
  'type' => 'select',
@@ -1693,7 +1719,7 @@ $this->sections[] = array(
1693
  'default' => um_get_metadefault('login_template'),
1694
  'options' => $ultimatemember->shortcodes->get_templates( 'login' ),
1695
  ),
1696
-
1697
  array(
1698
  'id' => 'login_max_width',
1699
  'type' => 'text',
@@ -1701,7 +1727,7 @@ $this->sections[] = array(
1701
  'default' => um_get_metadefault('login_max_width'),
1702
  'desc' => __('The maximum width this shortcode can take from the page width','ultimatemember'),
1703
  ),
1704
-
1705
  array(
1706
  'id' => 'login_align',
1707
  'type' => 'select',
@@ -1715,7 +1741,7 @@ $this->sections[] = array(
1715
  'right' => __('Right aligned','ultimatemember'),
1716
  ),
1717
  ),
1718
-
1719
  array(
1720
  'id' => 'login_icons',
1721
  'type' => 'select',
@@ -1729,7 +1755,7 @@ $this->sections[] = array(
1729
  'off' => __('Turn off','ultimatemember'),
1730
  ),
1731
  ),
1732
-
1733
  array(
1734
  'id' => 'login_primary_btn_word',
1735
  'type' => 'text',
@@ -1737,7 +1763,7 @@ $this->sections[] = array(
1737
  'default' => um_get_metadefault('login_primary_btn_word'),
1738
  'desc' => __('The text that is used for primary button text','ultimatemember'),
1739
  ),
1740
-
1741
  array(
1742
  'id' => 'login_secondary_btn',
1743
  'type' => 'switch',
@@ -1747,7 +1773,7 @@ $this->sections[] = array(
1747
  'on' => __('On','ultimatemember'),
1748
  'off' => __('Off','ultimatemember'),
1749
  ),
1750
-
1751
  array(
1752
  'id' => 'login_secondary_btn_word',
1753
  'type' => 'text',
@@ -1756,7 +1782,7 @@ $this->sections[] = array(
1756
  'desc' => __('The text that is used for the secondary button text','ultimatemember'),
1757
  'required' => array( 'login_secondary_btn', '=', 1 ),
1758
  ),
1759
-
1760
  array(
1761
  'id' => 'login_secondary_btn_url',
1762
  'type' => 'text',
@@ -1765,7 +1791,7 @@ $this->sections[] = array(
1765
  'desc' => __('You can replace default link for this button by entering custom URL','ultimatemember'),
1766
  'required' => array( 'login_secondary_btn', '=', 1 ),
1767
  ),
1768
-
1769
  array(
1770
  'id' => 'login_forgot_pass_link',
1771
  'type' => 'switch',
@@ -1775,7 +1801,7 @@ $this->sections[] = array(
1775
  'on' => __('On','ultimatemember'),
1776
  'off' => __('Off','ultimatemember'),
1777
  ),
1778
-
1779
  array(
1780
  'id' => 'login_show_rememberme',
1781
  'type' => 'switch',
@@ -1785,14 +1811,14 @@ $this->sections[] = array(
1785
  'on' => __('On','ultimatemember'),
1786
  'off' => __('Off','ultimatemember'),
1787
  ),
1788
-
1789
  )
1790
-
1791
  );
1792
 
1793
  if ( um_get_option('enable_custom_css') ) {
1794
  $this->sections[] = array(
1795
-
1796
  'subsection' => true,
1797
  'title' => __( 'Custom CSS','ultimatemember'),
1798
  'fields' => array(
@@ -1804,22 +1830,22 @@ $this->sections[] = array(
1804
  'desc' => __('Any custom css rules that you specify here will be applied globally to the plugin.','ultimatemember'),
1805
  'rows' => 20,
1806
  ),
1807
-
1808
  )
1809
-
1810
  );
1811
  }
1812
 
1813
  /***
1814
  *** @
1815
  ***/
1816
-
1817
  $this->sections[] = array(
1818
 
1819
  'icon' => 'um-faicon-wrench',
1820
  'title' => __('Advanced','ultimatemember'),
1821
  'fields' => array(
1822
-
1823
  array(
1824
  'id' => 'import_export',
1825
  'type' => 'import_export',
@@ -1836,7 +1862,7 @@ $this->sections[] = array(
1836
  'on' => __('On','ultimatemember'),
1837
  'off' => __('Off','ultimatemember'),
1838
  ),
1839
-
1840
  array(
1841
  'id' => 'current_url_method',
1842
  'type' => 'select',
@@ -1849,7 +1875,7 @@ $this->sections[] = array(
1849
  'HTTP_HOST' => __('Use HTTP_HOST','ultimatemember'),
1850
  ),
1851
  ),
1852
-
1853
  array(
1854
  'id' => 'advanced_denied_roles',
1855
  'type' => 'text',
@@ -1857,7 +1883,7 @@ $this->sections[] = array(
1857
  'default' => '',
1858
  'desc' => __('Comma seperate roles (role slugs) that can not be registered from frontend ever for security.','ultimatemember'),
1859
  ),
1860
-
1861
  array(
1862
  'id' => 'enable_timebot',
1863
  'type' => 'switch',
@@ -1867,7 +1893,7 @@ $this->sections[] = array(
1867
  'on' => __('On','ultimatemember'),
1868
  'off' => __('Off','ultimatemember'),
1869
  ),
1870
-
1871
  array(
1872
  'id' => 'disable_minify',
1873
  'type' => 'switch',
@@ -1877,7 +1903,7 @@ $this->sections[] = array(
1877
  'on' => __('On','ultimatemember'),
1878
  'off' => __('Off','ultimatemember'),
1879
  ),
1880
-
1881
  array(
1882
  'id' => 'disable_menu',
1883
  'type' => 'switch',
@@ -1887,7 +1913,7 @@ $this->sections[] = array(
1887
  'on' => __('On','ultimatemember'),
1888
  'off' => __('Off','ultimatemember'),
1889
  ),
1890
-
1891
  array(
1892
  'id' => 'js_css_exlcude_home',
1893
  'type' => 'switch',
@@ -1897,7 +1923,7 @@ $this->sections[] = array(
1897
  'on' => __('On','ultimatemember'),
1898
  'off' => __('Off','ultimatemember'),
1899
  ),
1900
-
1901
  array(
1902
  'id' => 'js_css_exclude',
1903
  'type' => 'multi_text',
@@ -1906,7 +1932,7 @@ $this->sections[] = array(
1906
  'desc' => __( 'Enter a url or page slug (e.g /about/) to disable loading the plugin\'s css and js on that page.','ultimatemember' ),
1907
  'add_text' => __('Add New Page','ultimatemember'),
1908
  ),
1909
-
1910
  array(
1911
  'id' => 'js_css_include',
1912
  'type' => 'multi_text',
@@ -1915,7 +1941,7 @@ $this->sections[] = array(
1915
  'desc' => __( 'Enter a url or page slug (e.g /about/) to enable loading the plugin\'s css and js on that page.','ultimatemember' ),
1916
  'add_text' => __('Add New Page','ultimatemember'),
1917
  ),
1918
-
1919
  array(
1920
  'id' => 'enable_custom_css',
1921
  'type' => 'switch',
@@ -1924,7 +1950,7 @@ $this->sections[] = array(
1924
  'on' => __('On','ultimatemember'),
1925
  'off' => __('Off','ultimatemember'),
1926
  ),
1927
-
1928
  array(
1929
  'id' => 'allow_tracking',
1930
  'type' => 'switch',
@@ -1936,4 +1962,4 @@ $this->sections[] = array(
1936
 
1937
  )
1938
 
1939
- );
20
  $core_pages = apply_filters('um_core_pages', $core_pages );
21
 
22
  foreach( $core_pages as $page_s => $page ) {
23
+
24
+ $have_pages = $ultimatemember->query->wp_pages();
25
+
26
+ if( ! empty( $have_pages ) ){
27
+ $page_setup[] = array(
28
+ 'id' => 'core_' . $page_s,
29
+ 'type' => 'select',
30
+ 'select2' => array( 'allowClear' => 0, 'minimumResultsForSearch' => -1 ),
31
+ 'title' => $page,
32
+ 'default' => ( isset( $ultimatemember->permalinks->core[ $page_s ] ) ) ? $ultimatemember->permalinks->core[ $page_s ] : '' ,
33
+ 'options' => $ultimatemember->query->wp_pages(),
34
+ 'placeholder' => __('Choose a page...','ultimatemember'),
35
+ 'compiler' => true,
36
+ );
37
+ }else{
38
+ $page_setup[] = array(
39
+ 'id' => 'core_' . $page_s,
40
+ 'type' => 'text',
41
+ 'title' => $page,
42
+ 'placeholder' => __('Add page ID','ultimatemember'),
43
+ 'default' => ( isset( $ultimatemember->permalinks->core[ $page_s ] ) ) ? $ultimatemember->permalinks->core[ $page_s ] : '',
44
+ 'compiler' => true,
45
+ );
46
+ }
47
  }
48
 
49
  $this->sections[] = array(
70
  'password-reset' => __('Password reset page','ultimatemember'),
71
  );
72
  $pages = get_option('um_core_pages');
73
+
74
  $core_pages = apply_filters('um_core_pages', $core_pages );
75
 
76
  foreach( $core_pages as $slug => $page ) {
82
  /***
83
  *** @
84
  ***/
85
+
86
  $this->sections[] = array(
87
 
88
  'icon' => 'um-faicon-user',
89
  'title' => __( 'Users','ultimatemember'),
90
  'fields' => array(
91
+
92
  array(
93
  'id' => 'default_role',
94
  'type' => 'select',
99
  'options' => $ultimatemember->query->get_roles(),
100
  'placeholder' => __('Choose user role...','ultimatemember'),
101
  ),
102
+
103
  array(
104
  'id' => 'permalink_base',
105
  'type' => 'select',
115
  ),
116
  'placeholder' => __('Select...','ultimatemember')
117
  ),
118
+
119
  array(
120
  'id' => 'display_name',
121
  'type' => 'select',
124
  'desc' => __( 'This is the name that will be displayed for users on the front end of your site. Default setting uses first/last name as display name if it exists','ultimatemember' ),
125
  'default' => 'full_name',
126
  'options' => array(
127
+ 'default' => __('Default WP Display Name','ultimatemember'),
128
+ 'nickname' => __('Nickname','ultimatemember'),
129
  'username' => __('Username','ultimatemember'),
130
  'full_name' => __('First name & last name','ultimatemember'),
131
  'sur_name' => __('Last name & first name','ultimatemember'),
132
  'initial_name' => __('First name & first initial of last name','ultimatemember'),
133
  'initial_name_f' => __('First initial of first name & last name','ultimatemember'),
134
  'first_name' => __('First name only','ultimatemember'),
 
135
  'field' => __('Custom field(s)','ultimatemember'),
136
  ),
137
  'placeholder' => __('Select...')
138
  ),
139
+
140
  array(
141
  'id' => 'display_name_field',
142
  'type' => 'text',
144
  'desc' => __('Specify the custom field meta key or custom fields seperated by comma that you want to use to display users name on the frontend of your site','ultimatemember'),
145
  'required' => array( 'display_name', '=', 'field' ),
146
  ),
147
+
148
  array(
149
  'id' => 'author_redirect',
150
  'type' => 'switch',
154
  'on' => __('Yes','ultimatemember'),
155
  'off' => __('No','ultimatemember'),
156
  ),
157
+
158
  array(
159
  'id' => 'members_page',
160
  'type' => 'switch',
164
  'on' => __('Yes','ultimatemember'),
165
  'off' => __('No','ultimatemember'),
166
  ),
167
+
168
  array(
169
  'id' => 'use_gravatars',
170
  'type' => 'switch',
174
  'on' => __('Yes','ultimatemember'),
175
  'off' => __('No','ultimatemember'),
176
  ),
177
+
178
  array(
179
  'id' => 'reset_require_strongpass',
180
  'type' => 'switch',
184
  'on' => __('On','ultimatemember'),
185
  'off' => __('Off','ultimatemember'),
186
  ),
187
+
188
  )
189
 
190
  );
192
  /***
193
  *** @
194
  ***/
195
+
196
  $this->sections[] = array(
197
 
198
  'icon' => 'um-faicon-cog',
199
  'title' => __( 'Account','ultimatemember'),
200
  'fields' => array(
201
+
202
  array(
203
  'id' => 'account_tab_password',
204
  'type' => 'switch',
208
  'on' => __('On','ultimatemember'),
209
  'off' => __('Off','ultimatemember'),
210
  ),
211
+
212
  array(
213
  'id' => 'account_tab_privacy',
214
  'type' => 'switch',
218
  'on' => __('On','ultimatemember'),
219
  'off' => __('Off','ultimatemember'),
220
  ),
221
+
222
  array(
223
  'id' => 'account_tab_notifications',
224
  'type' => 'switch',
228
  'on' => __('On','ultimatemember'),
229
  'off' => __('Off','ultimatemember'),
230
  ),
231
+
232
  array(
233
  'id' => 'account_tab_delete',
234
  'type' => 'switch',
238
  'on' => __('On','ultimatemember'),
239
  'off' => __('Off','ultimatemember'),
240
  ),
241
+
242
  array(
243
  'id' => 'delete_account_text',
244
  'type' => 'textarea', // bug with wp 4.4? should be editor
251
  'textarea_rows' => 6
252
  ),
253
  ),
254
+
255
  array(
256
  'id' => 'account_name',
257
  'type' => 'switch',
261
  'on' => __('On','ultimatemember'),
262
  'off' => __('Off','ultimatemember'),
263
  ),
264
+
265
  array(
266
  'id' => 'account_email',
267
  'type' => 'switch',
271
  'on' => __('On','ultimatemember'),
272
  'off' => __('Off','ultimatemember'),
273
  ),
274
+
275
  array(
276
  'id' => 'account_require_strongpass',
277
  'type' => 'switch',
304
  'default' => $ultimatemember->validation->randomize(),
305
  'desc' => trailingslashit( get_bloginfo('url') ).'wp-admin/?um_panic_key=<strong>your_panic_key</strong>'
306
  ),
307
+
308
  array(
309
  'id' => 'accessible',
310
  'type' => 'select',
325
  'desc' => __('A logged out user will be redirected to this url If he is not permitted to access the site','ultimatemember'),
326
  'required' => array( 'accessible', '=', 2 ),
327
  ),
328
+
329
  array(
330
  'id' => 'access_exclude_uris',
331
  'type' => 'multi_text',
335
  'add_text' => __('Add New URL','ultimatemember'),
336
  'required' => array( 'accessible', '=', 2 ),
337
  ),
338
+
339
  array(
340
  'id' => 'wpadmin_login',
341
  'type' => 'switch',
345
  'on' => __('Yes','ultimatemember'),
346
  'off' => __('No','ultimatemember'),
347
  ),
348
+
349
  array(
350
  'id' => 'deny_admin_frontend_login',
351
  'type' => 'switch',
355
  'on' => __('Yes','ultimatemember'),
356
  'off' => __('No','ultimatemember'),
357
  ),
358
+
359
  array(
360
  'id' => 'wpadmin_login_redirect',
361
  'type' => 'select',
369
  'custom_url' => 'Custom URL',
370
  )
371
  ),
372
+
373
  array(
374
  'id' => 'wpadmin_login_redirect_url',
375
  'type' => 'text',
377
  'desc' => __('Enter an alternate url here to redirect a user If they try to access the backend register screen','ultimatemember'),
378
  'required' => array( 'wpadmin_login_redirect', '=', 'custom_url' ),
379
  ),
380
+
381
  array(
382
  'id' => 'wpadmin_register',
383
  'type' => 'switch',
387
  'on' => __('Yes','ultimatemember'),
388
  'off' => __('No','ultimatemember'),
389
  ),
390
+
391
  array(
392
  'id' => 'wpadmin_register_redirect',
393
  'type' => 'select',
401
  'custom_url' => 'Custom URL',
402
  )
403
  ),
404
+
405
  array(
406
  'id' => 'wpadmin_register_redirect_url',
407
  'type' => 'text',
409
  'desc' => __('Enter an alternate url here to redirect a user If they try to access the backend register screen','ultimatemember'),
410
  'required' => array( 'wpadmin_register_redirect', '=', 'custom_url' ),
411
  ),
412
+
413
  array(
414
  'id' => 'access_widget_admin_only',
415
  'type' => 'switch',
418
  'on' => __('Yes','ultimatemember'),
419
  'off' => __('No','ultimatemember'),
420
  ),
421
+
422
  array(
423
  'id' => 'wpadmin_allow_ips',
424
  'type' => 'textarea',
425
  'title' => __( 'Whitelisted Backend IPs','ultimatemember' ),
426
  'desc' => __('Always allow the specified IP addresses to access the backend login screen and WP-admin to avoid being locked from site backend.','ultimatemember'),
427
  ),
428
+
429
  array(
430
  'id' => 'blocked_ips',
431
  'type' => 'textarea',
432
  'title' => __( 'Blocked IP Addresses','ultimatemember' ),
433
  'desc' => __('This will block the listed IPs from signing up or signing in to the site, you can use full IP numbers or target specific range with a wildcard','ultimatemember'),
434
  ),
435
+
436
  array(
437
  'id' => 'blocked_emails',
438
  'type' => 'textarea',
439
  'title' => __( 'Blocked Email Addresses','ultimatemember' ),
440
  'desc' => __('This will block the specified e-mail addresses from being able to sign up or sign in to your site. To block an entire domain, use something like *@domain.com','ultimatemember'),
441
  ),
442
+
443
  array(
444
  'id' => 'blocked_words',
445
  'type' => 'textarea',
447
  'desc' => __('This option lets you specify blacklist of words to prevent anyone from signing up with such a word as their username','ultimatemember'),
448
  'default' => 'admin' . "\r\n" . 'administrator' . "\r\n" . 'webmaster' . "\r\n" . 'support' . "\r\n" . 'staff'
449
  ),
450
+
451
  )
452
 
453
  );
455
  /***
456
  *** @
457
  ***/
458
+
459
  $this->sections[] = array(
460
 
461
  'icon' => 'um-faicon-envelope-o',
485
  'default' => 0,
486
  'desc' => __('If you enable HTML for e-mails, you can customize the HTML e-mail templates found in <strong>templates/email</strong> folder.','ultimatemember'),
487
  ),
488
+
489
  array(
490
  'id' => 'welcome_email_on',
491
  'type' => 'switch',
493
  'default' => 1,
494
  'desc' => __('Whether to send the user an email when his account is automatically approved','ultimatemember'),
495
  ),
496
+
497
  array(
498
  'id' => 'welcome_email_sub',
499
  'type' => 'text',
521
  'Thanks,' . "\r\n" .
522
  '{site_name}',
523
  ),
524
+
525
  array(
526
  'id' => 'checkmail_email_on',
527
  'type' => 'switch',
529
  'default' => 1,
530
  'desc' => __('Whether to send the user an email when his account needs e-mail activation','ultimatemember'),
531
  ),
532
+
533
  array(
534
  'id' => 'checkmail_email_sub',
535
  'type' => 'text',
553
  'Thanks,' . "\r\n" .
554
  '{site_name}',
555
  ),
556
+
557
  array(
558
  'id' => 'pending_email_on',
559
  'type' => 'switch',
561
  'default' => 1,
562
  'desc' => __('Whether to send the user an email when his account needs admin review','ultimatemember'),
563
  ),
564
+
565
  array(
566
  'id' => 'pending_email_sub',
567
  'type' => 'text',
585
  'Thanks,' . "\r\n" .
586
  '{site_name}',
587
  ),
588
+
589
  array(
590
  'id' => 'approved_email_on',
591
  'type' => 'switch',
593
  'default' => 1,
594
  'desc' => __('Whether to send the user an email when his account is approved','ultimatemember'),
595
  ),
596
+
597
  array(
598
  'id' => 'approved_email_sub',
599
  'type' => 'text',
621
  'Thanks,' . "\r\n" .
622
  '{site_name}',
623
  ),
624
+
625
  array(
626
  'id' => 'rejected_email_on',
627
  'type' => 'switch',
629
  'default' => 1,
630
  'desc' => __('Whether to send the user an email when his account is rejected','ultimatemember'),
631
  ),
632
+
633
  array(
634
  'id' => 'rejected_email_sub',
635
  'type' => 'text',
660
  'default' => 1,
661
  'desc' => __('Whether to send the user an email when his account is deactivated','ultimatemember'),
662
  ),
663
+
664
  array(
665
  'id' => 'inactive_email_sub',
666
  'type' => 'text',
670
  'required' => array( 'inactive_email_on', '=', 1 ),
671
  'desc' => __('This is the subject line of the e-mail','ultimatemember'),
672
  ),
673
+
674
  array(
675
  'id' => 'inactive_email',
676
  'type' => 'textarea',
691
  'default' => 1,
692
  'desc' => __('Whether to send the user an email when his account is deleted','ultimatemember'),
693
  ),
694
+
695
  array(
696
  'id' => 'deletion_email_sub',
697
  'type' => 'text',
714
  'Thanks,' . "\r\n" .
715
  '{site_name}',
716
  ),
717
+
718
  array(
719
  'id' => 'resetpw_email_on',
720
  'type' => 'switch',
722
  'default' => 1,
723
  'desc' => __('Whether to send the user an email when he request to reset password (Recommended, please keep on)','ultimatemember'),
724
  ),
725
+
726
  array(
727
  'id' => 'resetpw_email_sub',
728
  'type' => 'text',
741
  'required' => array( 'resetpw_email_on', '=', 1 ),
742
  'default' => 'Hi {display_name},' . "\r\n\r\n" .
743
  'We received a request to reset the password for your account. If you made this request, click the link below to change your password:' . "\r\n\r\n" .
744
+ '{password_reset_link}' . "\r\n\r\n" .
745
  'If you didn\'t make this request, you can ignore this email' . "\r\n\r\n" .
746
  'Thanks,' . "\r\n" .
747
  '{site_name}',
748
  ),
749
+
750
  array(
751
  'id' => 'changedpw_email_on',
752
  'type' => 'switch',
754
  'default' => 1,
755
  'desc' => __('Whether to send the user an email when he request to reset password (Recommended, please keep on)','ultimatemember'),
756
  ),
757
+
758
  array(
759
  'id' => 'changedpw_email_sub',
760
  'type' => 'text',
773
  'required' => array( 'changedpw_email_on', '=', 1 ),
774
  'default' => 'Hi {display_name},' . "\r\n\r\n" .
775
  'You recently changed the password associated with your {site_name} account.' . "\r\n\r\n" .
776
+ 'If you did not make this change and believe your {site_name} account has been compromised, please contact us at the following email address: {admin_email}' . "\r\n\r\n" .
777
  'Thanks,' . "\r\n" .
778
  '{site_name}',
779
  ),
787
  ***/
788
 
789
  $this->sections[] = array(
790
+
791
  'icon' => 'um-faicon-bell-o',
792
  'title' => __( 'Notifications','ultimatemember' ),
793
  'fields' => array(
898
  ),
899
 
900
  )
901
+
902
  );
903
 
904
  /***
905
  *** @
906
  ***/
907
+
908
  $this->sections[] = array(
909
 
910
  'icon' => 'um-faicon-cloud-upload',
911
  'title' => __( 'Uploads','ultimatemember'),
912
  'fields' => array(
913
+
914
  array(
915
  'id' => 'profile_photo_max_size',
916
  'type' => 'text',
918
  'desc' => __( 'Sets a maximum size for the uploaded photo','ultimatemember' ),
919
  'validate' => 'numeric',
920
  ),
921
+
922
  array(
923
  'id' => 'cover_photo_max_size',
924
  'type' => 'text',
926
  'desc' => __( 'Sets a maximum size for the uploaded cover','ultimatemember' ),
927
  'validate' => 'numeric',
928
  ),
929
+
930
  array(
931
  'id' => 'photo_thumb_sizes',
932
  'type' => 'multi_text',
936
  'validate' => 'numeric',
937
  'add_text' => __('Add New Size','ultimatemember'),
938
  ),
939
+
940
  array(
941
  'id' => 'cover_thumb_sizes',
942
  'type' => 'multi_text',
946
  'validate' => 'numeric',
947
  'add_text' => __('Add New Size','ultimatemember'),
948
  ),
949
+
950
  array(
951
  'id' => 'image_compression',
952
  'type' => 'text',
955
  'default' => 60,
956
  'validate' => 'numeric',
957
  ),
958
+
959
  array(
960
  'id' => 'image_max_width',
961
  'type' => 'text',
964
  'default' => 1000,
965
  'validate' => 'numeric',
966
  ),
967
+
968
  array(
969
  'id' => 'cover_min_width',
970
  'type' => 'text',
981
  /***
982
  *** @
983
  ***/
984
+
985
  $this->sections[] = array(
986
 
987
  'icon' => 'um-faicon-search',
1003
  'title' => __( 'User Profile Dynamic Meta Description','ultimatemember' ),
1004
  'desc' => __('This will be used in the meta description that is available for search-engines.','ultimatemember')
1005
  ),
1006
+
1007
  )
1008
 
1009
  );
1011
  /***
1012
  *** @
1013
  ***/
1014
+
1015
  $this->sections[] = array(
1016
 
1017
  'icon' => 'um-faicon-paint-brush',
1018
  'title' => __( 'Appearance','ultimatemember'),
1019
  'fields' => array(
1020
+
1021
  )
1022
 
1023
  );
1027
  'subsection' => true,
1028
  'title' => __( 'General','ultimatemember'),
1029
  'fields' => array(
1030
+
1031
  array(
1032
  'id' => 'directory_template',
1033
  'type' => 'select',
1038
  'options' => $ultimatemember->shortcodes->get_templates( 'members' ),
1039
  'required' => array( 'xxxxxxxxxxxxx', '=', 'sssssssssssssssss' ),
1040
  ),
1041
+
1042
  array(
1043
  'id' => 'active_color',
1044
  'type' => 'color',
1048
  'desc' => __('Active color is used commonly with many plugin elements as highlighted color or active selection for example. This color demonstrates the primary active color of the plugin','ultimatemember'),
1049
  'transparent' => false,
1050
  ),
1051
+
1052
  array(
1053
  'id' => 'secondary_color',
1054
  'type' => 'color',
1058
  'desc' => __('Secondary color is used for hovers, or active state for some elements of the plugin','ultimatemember'),
1059
  'transparent' => false,
1060
  ),
1061
+
1062
  array(
1063
  'id' => 'primary_btn_color',
1064
  'type' => 'color',
1067
  'validate' => 'color',
1068
  'transparent' => false,
1069
  ),
1070
+
1071
  array(
1072
  'id' => 'primary_btn_hover',
1073
  'type' => 'color',
1076
  'validate' => 'color',
1077
  'transparent' => false,
1078
  ),
1079
+
1080
  array(
1081
  'id' => 'primary_btn_text',
1082
  'type' => 'color',
1085
  'validate' => 'color',
1086
  'transparent' => false,
1087
  ),
1088
+
1089
  array(
1090
  'id' => 'secondary_btn_color',
1091
  'type' => 'color',
1094
  'validate' => 'color',
1095
  'transparent' => false,
1096
  ),
1097
+
1098
  array(
1099
  'id' => 'secondary_btn_hover',
1100
  'type' => 'color',
1103
  'validate' => 'color',
1104
  'transparent' => false,
1105
  ),
1106
+
1107
  array(
1108
  'id' => 'secondary_btn_text',
1109
  'type' => 'color',
1112
  'validate' => 'color',
1113
  'transparent' => false,
1114
  ),
1115
+
1116
  array(
1117
  'id' => 'help_tip_color',
1118
  'type' => 'color',
1121
  'validate' => 'color',
1122
  'transparent' => false,
1123
  ),
1124
+
1125
  )
1126
+
1127
  );
1128
 
1129
  $this->sections[] = array(
1131
  'subsection' => true,
1132
  'title' => __( 'Form Inputs','ultimatemember'),
1133
  'fields' => array(
1134
+
1135
  array(
1136
  'id' => 'form_field_label',
1137
  'type' => 'color',
1140
  'validate' => 'color',
1141
  'transparent' => false,
1142
  ),
1143
+
1144
  array(
1145
  'id' => 'form_border',
1146
  'type' => 'text',
1148
  'default' => um_get_metadefault('form_border'),
1149
  'desc' => __('The default border-style for input/fields in UM forms','ultimatemember'),
1150
  ),
1151
+
1152
  array(
1153
  'id' => 'form_border_hover',
1154
  'type' => 'text',
1156
  'default' => um_get_metadefault('form_border_hover'),
1157
  'desc' => __('The default border style for fields on hover state','ultimatemember'),
1158
  ),
1159
+
1160
  array(
1161
  'id' => 'form_bg_color',
1162
  'type' => 'color',
1165
  'validate' => 'color',
1166
  'transparent' => false,
1167
  ),
1168
+
1169
  array(
1170
  'id' => 'form_bg_color_focus',
1171
  'type' => 'color',
1174
  'validate' => 'color',
1175
  'transparent' => false,
1176
  ),
1177
+
1178
  array(
1179
  'id' => 'form_text_color',
1180
  'type' => 'color',
1183
  'validate' => 'color',
1184
  'transparent' => false,
1185
  ),
1186
+
1187
  array(
1188
  'id' => 'form_placeholder',
1189
  'type' => 'color',
1192
  'validate' => 'color',
1193
  'transparent' => false,
1194
  ),
1195
+
1196
  array(
1197
  'id' => 'form_icon_color',
1198
  'type' => 'color',
1201
  'validate' => 'color',
1202
  'transparent' => false,
1203
  ),
1204
+
1205
  array(
1206
  'id' => 'form_asterisk',
1207
  'type' => 'switch',
1210
  'on' => __('Yes','ultimatemember'),
1211
  'off' => __('No','ultimatemember'),
1212
  ),
1213
+
1214
  array(
1215
  'id' => 'form_asterisk_color',
1216
  'type' => 'color',
1220
  'transparent' => false,
1221
  'required' => array( 'form_asterisk', '=', '1' ),
1222
  ),
1223
+
1224
  )
1225
+
1226
  );
1227
 
1228
  $this->sections[] = array(
1229
+
1230
  'subsection' => true,
1231
  'title' => __( 'Profile','ultimatemember'),
1232
  'fields' => array(
1240
  'default' => um_get_metadefault('profile_template'),
1241
  'options' => $ultimatemember->shortcodes->get_templates( 'profile' ),
1242
  ),
1243
+
1244
  array(
1245
  'id' => 'profile_max_width',
1246
  'type' => 'text',
1248
  'default' => um_get_metadefault('profile_max_width'),
1249
  'desc' => 'The maximum width this shortcode can take from the page width',
1250
  ),
1251
+
1252
  array(
1253
  'id' => 'profile_area_max_width',
1254
  'type' => 'text',
1256
  'default' => um_get_metadefault('profile_area_max_width'),
1257
  'desc' => __('The maximum width of the profile area inside profile (below profile header)','ultimatemember'),
1258
  ),
1259
+
1260
  array(
1261
  'id' => 'profile_align',
1262
  'type' => 'select',
1270
  'right' => __('Right aligned','ultimatemember'),
1271
  ),
1272
  ),
1273
+
1274
  array(
1275
  'id' => 'profile_icons',
1276
  'type' => 'select',
1284
  'off' => __('Turn off','ultimatemember'),
1285
  ),
1286
  ),
1287
+
1288
  array(
1289
  'id' => 'profile_primary_btn_word',
1290
  'type' => 'text',
1292
  'default' => um_get_metadefault('profile_primary_btn_word'),
1293
  'desc' => __('The text that is used for updating profile button','ultimatemember'),
1294
  ),
1295
+
1296
  array(
1297
  'id' => 'profile_secondary_btn',
1298
  'type' => 'switch',
1302
  'on' => __('On','ultimatemember'),
1303
  'off' => __('Off','ultimatemember'),
1304
  ),
1305
+
1306
  array(
1307
  'id' => 'profile_secondary_btn_word',
1308
  'type' => 'text',
1311
  'desc' => __('The text that is used for cancelling update profile button','ultimatemember'),
1312
  'required' => array( 'profile_secondary_btn', '=', 1 ),
1313
  ),
1314
+
1315
  array(
1316
  'id' => 'profile_role',
1317
  'type' => 'select',
1321
  'default' => um_get_metadefault('profile_role'),
1322
  'options' => $ultimatemember->query->get_roles( $add_default = 'Not specific' ),
1323
  ),
1324
+
1325
  array(
1326
  'id' => 'profile_main_bg',
1327
  'type' => 'color',
1330
  'validate' => 'color',
1331
  'transparent' => false,
1332
  ),
1333
+
1334
  array(
1335
  'id' => 'profile_header_bg',
1336
  'type' => 'color',
1339
  'validate' => 'color',
1340
  'transparent' => false,
1341
  ),
1342
+
1343
  array(
1344
  'id' => 'default_avatar',
1345
  'type' => 'media',
1349
  'url' => um_url . 'assets/img/default_avatar.jpg',
1350
  ),
1351
  ),
1352
+
1353
  array(
1354
  'id' => 'default_cover',
1355
  'type' => 'media',
1358
  'title' => __('Default Cover Photo', 'ultimatemember'),
1359
  'desc' => __('You can change the default cover photo globally here. Please make sure that the default cover is large enough and respects the ratio you are using for cover photos.', 'ultimatemember'),
1360
  ),
1361
+
1362
  array(
1363
  'id' => 'profile_photosize',
1364
  'type' => 'text',
1366
  'default' => um_get_metadefault('profile_photosize'),
1367
  'desc' => __('The global default of profile photo size. This can be overridden by individual form settings','ultimatemember'),
1368
  ),
1369
+
1370
  array(
1371
  'id' => 'profile_photocorner',
1372
  'type' => 'select',
1380
  '3' => __('Square','ultimatemember'),
1381
  ),
1382
  ),
1383
+
1384
  array(
1385
  'id' => 'profile_cover_enabled',
1386
  'type' => 'switch',
1390
  'on' => __('On','ultimatemember'),
1391
  'off' => __('Off','ultimatemember'),
1392
  ),
1393
+
1394
  array(
1395
  'id' => 'profile_cover_ratio',
1396
  'type' => 'select',
1399
  'desc' => __( 'Choose global ratio for cover photos of profiles','ultimatemember' ),
1400
  'default' => um_get_metadefault('profile_cover_ratio'),
1401
  'options' => array(
1402
+ '1.6:1' => '1.6:1',
1403
  '2.7:1' => '2.7:1',
1404
  '2.2:1' => '2.2:1',
1405
  '3.2:1' => '3.2:1',
1406
  ),
1407
  'required' => array( 'profile_cover_enabled', '=', 1 ),
1408
  ),
1409
+
1410
  array(
1411
  'id' => 'profile_show_metaicon',
1412
  'type' => 'switch',
1416
  'on' => __('On','ultimatemember'),
1417
  'off' => __('Off','ultimatemember'),
1418
  ),
1419
+
1420
  array(
1421
  'id' => 'profile_header_text',
1422
  'type' => 'color',
1425
  'validate' => 'color',
1426
  'transparent' => false,
1427
  ),
1428
+
1429
  array(
1430
  'id' => 'profile_header_link_color',
1431
  'type' => 'color',
1434
  'validate' => 'color',
1435
  'transparent' => false,
1436
  ),
1437
+
1438
  array(
1439
  'id' => 'profile_header_link_hcolor',
1440
  'type' => 'color',
1443
  'validate' => 'color',
1444
  'transparent' => false,
1445
  ),
1446
+
1447
  array(
1448
  'id' => 'profile_header_icon_color',
1449
  'type' => 'color',
1452
  'validate' => 'color',
1453
  'transparent' => false,
1454
  ),
1455
+
1456
  array(
1457
  'id' => 'profile_header_icon_hcolor',
1458
  'type' => 'color',
1461
  'validate' => 'color',
1462
  'transparent' => false,
1463
  ),
1464
+
1465
  array(
1466
  'id' => 'profile_show_name',
1467
  'type' => 'switch',
1471
  'on' => __('On','ultimatemember'),
1472
  'off' => __('Off','ultimatemember'),
1473
  ),
1474
+
1475
  array(
1476
  'id' => 'profile_show_social_links',
1477
  'type' => 'switch',
1481
  'on' => __('On','ultimatemember'),
1482
  'off' => __('Off','ultimatemember'),
1483
  ),
1484
+
1485
  array(
1486
  'id' => 'profile_show_bio',
1487
  'type' => 'switch',
1491
  'on' => __('On','ultimatemember'),
1492
  'off' => __('Off','ultimatemember'),
1493
  ),
1494
+
1495
+ array(
1496
+ 'id' => 'profile_show_html_bio',
1497
+ 'type' => 'switch',
1498
+ 'title' => __( 'Enable html support for user description','ultimatemember' ),
1499
+ 'default' => um_get_metadefault('profile_show_html_bio'),
1500
+ 'desc' => __('Switch on/off to enable/disable support for html tags on user description.','ultimatemember'),
1501
+ 'on' => __('On','ultimatemember'),
1502
+ 'off' => __('Off','ultimatemember'),
1503
+ ),
1504
+
1505
  array(
1506
  'id' => 'profile_bio_maxchars',
1507
  'type' => 'text',
1510
  'desc' => __('Maximum number of characters to allow in user description field in header.','ultimatemember'),
1511
  'required' => array( 'profile_show_bio', '=', 1 ),
1512
  ),
1513
+
1514
  array(
1515
  'id' => 'profile_header_menu',
1516
  'type' => 'select',
1523
  'lc' => 'Left of Icon',
1524
  ),
1525
  ),
1526
+
1527
  array(
1528
  'id' => 'profile_empty_text',
1529
  'type' => 'switch',
1533
  'on' => __('On','ultimatemember'),
1534
  'off' => __('Off','ultimatemember'),
1535
  ),
1536
+
1537
  array(
1538
  'id' => 'profile_empty_text_emo',
1539
  'type' => 'switch',
1544
  'off' => __('Off','ultimatemember'),
1545
  'required' => array( 'profile_empty_text', '=', 1 ),
1546
  ),
1547
+
1548
  )
1549
+
1550
  );
1551
 
1552
  $tabs = $ultimatemember->profile->tabs_primary();
1595
  );
1596
 
1597
  $this->sections[] = array(
1598
+
1599
  'subsection' => true,
1600
  'title' => __( 'Profile Menu','ultimatemember'),
1601
  'fields' => $tab_options
1602
+
1603
  );
1604
 
1605
  $this->sections[] = array(
1606
+
1607
  'subsection' => true,
1608
  'title' => __( 'Registration Form','ultimatemember'),
1609
  'fields' => array(
1610
+
1611
  array(
1612
  'id' => 'register_template',
1613
  'type' => 'select',
1617
  'default' => um_get_metadefault('register_template'),
1618
  'options' => $ultimatemember->shortcodes->get_templates( 'register' ),
1619
  ),
1620
+
1621
  array(
1622
  'id' => 'register_max_width',
1623
  'type' => 'text',
1625
  'default' => um_get_metadefault('register_max_width'),
1626
  'desc' => __('The maximum width this shortcode can take from the page width','ultimatemember'),
1627
  ),
1628
+
1629
  array(
1630
  'id' => 'register_align',
1631
  'type' => 'select',
1639
  'right' => __('Right aligned'),
1640
  ),
1641
  ),
1642
+
1643
  array(
1644
  'id' => 'register_icons',
1645
  'type' => 'select',
1653
  'off' => __('Turn off'),
1654
  ),
1655
  ),
1656
+
1657
  array(
1658
  'id' => 'register_primary_btn_word',
1659
  'type' => 'text',
1661
  'default' => um_get_metadefault('register_primary_btn_word'),
1662
  'desc' => __('The text that is used for primary button text','ultimatemember'),
1663
  ),
1664
+
1665
  array(
1666
  'id' => 'register_secondary_btn',
1667
  'type' => 'switch',
1671
  'on' => __('On','ultimatemember'),
1672
  'off' => __('Off','ultimatemember'),
1673
  ),
1674
+
1675
  array(
1676
  'id' => 'register_secondary_btn_word',
1677
  'type' => 'text',
1680
  'desc' => __('The text that is used for the secondary button text','ultimatemember'),
1681
  'required' => array( 'register_secondary_btn', '=', 1 ),
1682
  ),
1683
+
1684
  array(
1685
  'id' => 'register_secondary_btn_url',
1686
  'type' => 'text',
1689
  'desc' => __('You can replace default link for this button by entering custom URL','ultimatemember'),
1690
  'required' => array( 'login_secondary_btn', '=', 1 ),
1691
  ),
1692
+
1693
  array(
1694
  'id' => 'register_role',
1695
  'type' => 'select',
1699
  'default' => um_get_metadefault('register_role'),
1700
  'options' => $ultimatemember->query->get_roles( $add_default = 'Default' ),
1701
  ),
1702
+
1703
  )
1704
+
1705
  );
1706
 
1707
  $this->sections[] = array(
1708
+
1709
  'subsection' => true,
1710
  'title' => __( 'Login Form','ultimatemember'),
1711
  'fields' => array(
1712
+
1713
  array(
1714
  'id' => 'login_template',
1715
  'type' => 'select',
1719
  'default' => um_get_metadefault('login_template'),
1720
  'options' => $ultimatemember->shortcodes->get_templates( 'login' ),
1721
  ),
1722
+
1723
  array(
1724
  'id' => 'login_max_width',
1725
  'type' => 'text',
1727
  'default' => um_get_metadefault('login_max_width'),
1728
  'desc' => __('The maximum width this shortcode can take from the page width','ultimatemember'),
1729
  ),
1730
+
1731
  array(
1732
  'id' => 'login_align',
1733
  'type' => 'select',
1741
  'right' => __('Right aligned','ultimatemember'),
1742
  ),
1743
  ),
1744
+
1745
  array(
1746
  'id' => 'login_icons',
1747
  'type' => 'select',
1755
  'off' => __('Turn off','ultimatemember'),
1756
  ),
1757
  ),
1758
+
1759
  array(
1760
  'id' => 'login_primary_btn_word',
1761
  'type' => 'text',
1763
  'default' => um_get_metadefault('login_primary_btn_word'),
1764
  'desc' => __('The text that is used for primary button text','ultimatemember'),
1765
  ),
1766
+
1767
  array(
1768
  'id' => 'login_secondary_btn',
1769
  'type' => 'switch',
1773
  'on' => __('On','ultimatemember'),
1774
  'off' => __('Off','ultimatemember'),
1775
  ),
1776
+
1777
  array(
1778
  'id' => 'login_secondary_btn_word',
1779
  'type' => 'text',
1782
  'desc' => __('The text that is used for the secondary button text','ultimatemember'),
1783
  'required' => array( 'login_secondary_btn', '=', 1 ),
1784
  ),
1785
+
1786
  array(
1787
  'id' => 'login_secondary_btn_url',
1788
  'type' => 'text',
1791
  'desc' => __('You can replace default link for this button by entering custom URL','ultimatemember'),
1792
  'required' => array( 'login_secondary_btn', '=', 1 ),
1793
  ),
1794
+
1795
  array(
1796
  'id' => 'login_forgot_pass_link',
1797
  'type' => 'switch',
1801
  'on' => __('On','ultimatemember'),
1802
  'off' => __('Off','ultimatemember'),
1803
  ),
1804
+
1805
  array(
1806
  'id' => 'login_show_rememberme',
1807
  'type' => 'switch',
1811
  'on' => __('On','ultimatemember'),
1812
  'off' => __('Off','ultimatemember'),
1813
  ),
1814
+
1815
  )
1816
+
1817
  );
1818
 
1819
  if ( um_get_option('enable_custom_css') ) {
1820
  $this->sections[] = array(
1821
+
1822
  'subsection' => true,
1823
  'title' => __( 'Custom CSS','ultimatemember'),
1824
  'fields' => array(
1830
  'desc' => __('Any custom css rules that you specify here will be applied globally to the plugin.','ultimatemember'),
1831
  'rows' => 20,
1832
  ),
1833
+
1834
  )
1835
+
1836
  );
1837
  }
1838
 
1839
  /***
1840
  *** @
1841
  ***/
1842
+
1843
  $this->sections[] = array(
1844
 
1845
  'icon' => 'um-faicon-wrench',
1846
  'title' => __('Advanced','ultimatemember'),
1847
  'fields' => array(
1848
+
1849
  array(
1850
  'id' => 'import_export',
1851
  'type' => 'import_export',
1862
  'on' => __('On','ultimatemember'),
1863
  'off' => __('Off','ultimatemember'),
1864
  ),
1865
+
1866
  array(
1867
  'id' => 'current_url_method',
1868
  'type' => 'select',
1875
  'HTTP_HOST' => __('Use HTTP_HOST','ultimatemember'),
1876
  ),
1877
  ),
1878
+
1879
  array(
1880
  'id' => 'advanced_denied_roles',
1881
  'type' => 'text',
1883
  'default' => '',
1884
  'desc' => __('Comma seperate roles (role slugs) that can not be registered from frontend ever for security.','ultimatemember'),
1885
  ),
1886
+
1887
  array(
1888
  'id' => 'enable_timebot',
1889
  'type' => 'switch',
1893
  'on' => __('On','ultimatemember'),
1894
  'off' => __('Off','ultimatemember'),
1895
  ),
1896
+
1897
  array(
1898
  'id' => 'disable_minify',
1899
  'type' => 'switch',
1903
  'on' => __('On','ultimatemember'),
1904
  'off' => __('Off','ultimatemember'),
1905
  ),
1906
+
1907
  array(
1908
  'id' => 'disable_menu',
1909
  'type' => 'switch',
1913
  'on' => __('On','ultimatemember'),
1914
  'off' => __('Off','ultimatemember'),
1915
  ),
1916
+
1917
  array(
1918
  'id' => 'js_css_exlcude_home',
1919
  'type' => 'switch',
1923
  'on' => __('On','ultimatemember'),
1924
  'off' => __('Off','ultimatemember'),
1925
  ),
1926
+
1927
  array(
1928
  'id' => 'js_css_exclude',
1929
  'type' => 'multi_text',
1932
  'desc' => __( 'Enter a url or page slug (e.g /about/) to disable loading the plugin\'s css and js on that page.','ultimatemember' ),
1933
  'add_text' => __('Add New Page','ultimatemember'),
1934
  ),
1935
+
1936
  array(
1937
  'id' => 'js_css_include',
1938
  'type' => 'multi_text',
1941
  'desc' => __( 'Enter a url or page slug (e.g /about/) to enable loading the plugin\'s css and js on that page.','ultimatemember' ),
1942
  'add_text' => __('Add New Page','ultimatemember'),
1943
  ),
1944
+
1945
  array(
1946
  'id' => 'enable_custom_css',
1947
  'type' => 'switch',
1950
  'on' => __('On','ultimatemember'),
1951
  'off' => __('Off','ultimatemember'),
1952
  ),
1953
+
1954
  array(
1955
  'id' => 'allow_tracking',
1956
  'type' => 'switch',
1962
 
1963
  )
1964
 
1965
+ );
um-init.php CHANGED
@@ -4,6 +4,8 @@ class UM_API {
4
 
5
  public $is_filtering;
6
 
 
 
7
  function __construct() {
8
 
9
  $this->is_filtering = 0;
@@ -56,9 +58,11 @@ class UM_API {
56
  ***/
57
  function load_addons() {
58
  global $ultimatemember;
59
- foreach( $ultimatemember->addons as $addon => $name ) {
60
- if ( um_get_option('addon_' . $addon ) == 1 ) {
61
- include_once um_path . 'addons/'.$addon.'.php';
 
 
62
  }
63
  }
64
  }
4
 
5
  public $is_filtering;
6
 
7
+ public $addons = null;
8
+
9
  function __construct() {
10
 
11
  $this->is_filtering = 0;
58
  ***/
59
  function load_addons() {
60
  global $ultimatemember;
61
+ if ( isset( $ultimatemember->addons ) && is_array( $ultimatemember->addons ) ) {
62
+ foreach( $ultimatemember->addons as $addon => $name ) {
63
+ if ( um_get_option('addon_' . $addon ) == 1 ) {
64
+ include_once um_path . 'addons/'.$addon.'.php';
65
+ }
66
  }
67
  }
68
  }