Unyson - Version 2.1.23

Version Description

  • Improved modal sizes (Set max-width,max-height pixels instead of top,right,bottom,left percents)
  • Added side tabs styles for Theme Settings page.

    To enable, add in {theme}/framework-customizations/theme/config.php

    $cfg['settings_form_side_tabs']
    
Download this release

Release Info

Developer Unyson
Plugin Icon 128x128 Unyson
Version 2.1.23
Comparing to
See all releases

Code changes from version 2.1.22 to 2.1.23

framework/core/components/backend.php CHANGED
@@ -226,6 +226,11 @@ final class _FW_Component_Backend
226
  );
227
  }
228
 
 
 
 
 
 
229
  {
230
  wp_register_style(
231
  'fw',
@@ -263,7 +268,7 @@ final class _FW_Component_Backend
263
  wp_register_script(
264
  'fw-backend-options',
265
  fw_get_framework_directory_uri('/static/js/backend-options.js'),
266
- array('fw-events', 'postbox', 'jquery-ui-tabs', 'fw'),
267
  fw()->manifest->get_version(),
268
  true
269
  );
@@ -464,7 +469,12 @@ final class _FW_Component_Backend
464
  {
465
  echo '<div class="wrap">';
466
 
467
- echo '<h2>'. __('Theme Settings', 'fw') .'</h2><br/>';
 
 
 
 
 
468
 
469
  $this->settings_form->render();
470
 
@@ -817,6 +827,12 @@ final class _FW_Component_Backend
817
 
818
  public function _settings_form_render($data)
819
  {
 
 
 
 
 
 
820
  $options = fw()->theme->get_settings_options();
821
 
822
  if (empty($options)) {
@@ -831,29 +847,26 @@ final class _FW_Component_Backend
831
  $values = fw_get_db_settings_option();
832
  }
833
 
834
- wp_enqueue_script('fw-form-helpers');
 
 
 
 
 
 
 
 
835
 
836
  fw_render_view(fw_get_framework_directory('/views/backend-settings-form.php'), array(
837
  'options' => $options,
838
- 'values' => $values,
839
  'focus_tab_input_name' => '_focus_tab',
840
- 'reset_input_name' => '_fw_reset_options'
 
 
841
  ), false);
842
 
843
- $data['submit']['html'] =
844
- fw_html_tag('input', array(
845
- 'type' => 'submit',
846
- 'name' => '_fw_save_options',
847
- 'value' => __('Save', 'fw'),
848
- 'class' => 'button-primary button-large',
849
- )) .
850
- ' &nbsp;&nbsp; ' .
851
- fw_html_tag('input', array(
852
- 'type' => 'submit',
853
- 'name' => '_fw_reset_options',
854
- 'value' => __('Reset', 'fw'),
855
- 'class' => 'button-secondary button-large',
856
- ));
857
 
858
  return $data;
859
  }
@@ -932,6 +945,7 @@ final class _FW_Component_Backend
932
  */
933
  $this->register_static();
934
 
 
935
  wp_enqueue_style('fw-backend-options');
936
  wp_enqueue_script('fw-backend-options');
937
  }
@@ -952,7 +966,7 @@ final class _FW_Component_Backend
952
  unset($collected['tabs']);
953
 
954
  if (!empty($collected['boxes'])) {
955
- echo '<div class="fw-postboxes metabox-holder">';
956
 
957
  foreach ($collected['boxes'] as $id => &$box) {
958
  // prepare attributes
@@ -1032,6 +1046,7 @@ final class _FW_Component_Backend
1032
  */
1033
  $this->register_static();
1034
 
 
1035
  wp_enqueue_style('fw-backend-options');
1036
  wp_enqueue_script('fw-backend-options');
1037
  }
226
  );
227
  }
228
 
229
+ /**
230
+ * Important!
231
+ * Call wp_enqueue_media() before wp_enqueue_script('fw') (or using 'fw' in your script dependencies)
232
+ * otherwise fw.OptionsModal won't work
233
+ */
234
  {
235
  wp_register_style(
236
  'fw',
268
  wp_register_script(
269
  'fw-backend-options',
270
  fw_get_framework_directory_uri('/static/js/backend-options.js'),
271
+ array('fw', 'fw-events', 'postbox', 'jquery-ui-tabs'),
272
  fw()->manifest->get_version(),
273
  true
274
  );
469
  {
470
  echo '<div class="wrap">';
471
 
472
+ if (fw()->theme->get_config('settings_form_side_tabs')) {
473
+ // this is needed for flash messages (admin notices) to be displayed properly
474
+ echo '<h2 class="fw-hidden"></h2>';
475
+ } else {
476
+ echo '<h2>' . __('Theme Settings', 'fw') . '</h2><br/>';
477
+ }
478
 
479
  $this->settings_form->render();
480
 
827
 
828
  public function _settings_form_render($data)
829
  {
830
+ {
831
+ $this->enqueue_options_static(array());
832
+
833
+ wp_enqueue_script('fw-form-helpers');
834
+ }
835
+
836
  $options = fw()->theme->get_settings_options();
837
 
838
  if (empty($options)) {
847
  $values = fw_get_db_settings_option();
848
  }
849
 
850
+ $side_tabs = fw()->theme->get_config('settings_form_side_tabs');
851
+
852
+ $data['attr']['class'] = 'fw-settings-form';
853
+
854
+ if ($side_tabs) {
855
+ $data['attr']['class'] .= ' fw-backend-side-tabs';
856
+ }
857
+
858
+ $data['submit']['html'] = '<!-- -->'; // is generated in view
859
 
860
  fw_render_view(fw_get_framework_directory('/views/backend-settings-form.php'), array(
861
  'options' => $options,
862
+ 'values' => $values,
863
  'focus_tab_input_name' => '_focus_tab',
864
+ 'reset_input_name' => '_fw_reset_options',
865
+ 'ajax_submit' => fw()->theme->get_config('settings_form_ajax_submit'),
866
+ 'side_tabs' => $side_tabs,
867
  ), false);
868
 
869
+
 
 
 
 
 
 
 
 
 
 
 
 
 
870
 
871
  return $data;
872
  }
945
  */
946
  $this->register_static();
947
 
948
+ wp_enqueue_media();
949
  wp_enqueue_style('fw-backend-options');
950
  wp_enqueue_script('fw-backend-options');
951
  }
966
  unset($collected['tabs']);
967
 
968
  if (!empty($collected['boxes'])) {
969
+ echo '<div class="fw-backend-postboxes metabox-holder">';
970
 
971
  foreach ($collected['boxes'] as $id => &$box) {
972
  // prepare attributes
1046
  */
1047
  $this->register_static();
1048
 
1049
+ wp_enqueue_media();
1050
  wp_enqueue_style('fw-backend-options');
1051
  wp_enqueue_script('fw-backend-options');
1052
  }
framework/core/components/theme.php CHANGED
@@ -137,7 +137,12 @@ final class _FW_Component_Theme
137
  try {
138
  $config = FW_Cache::get($cache_key);
139
  } catch (FW_Cache_Not_Found_Exception $e) {
140
- $config = array();
 
 
 
 
 
141
 
142
  if (file_exists(fw_get_template_customizations_directory('/theme/config.php'))) {
143
  $variables = fw_get_variables_from_file(fw_get_template_customizations_directory('/theme/config.php'), array('cfg' => null));
137
  try {
138
  $config = FW_Cache::get($cache_key);
139
  } catch (FW_Cache_Not_Found_Exception $e) {
140
+ $config = array(
141
+ /** Toggle Theme Settings form ajax submit */
142
+ 'settings_form_ajax_submit' => true,
143
+ /** Toggle Theme Settings side tabs */
144
+ 'settings_form_side_tabs' => false,
145
+ );
146
 
147
  if (file_exists(fw_get_template_customizations_directory('/theme/config.php'))) {
148
  $variables = fw_get_variables_from_file(fw_get_template_customizations_directory('/theme/config.php'), array('cfg' => null));
framework/includes/option-types/multi-upload/static/css/images-only.css CHANGED
@@ -26,6 +26,7 @@
26
  width: 100%;
27
  height: 100%;
28
  cursor: pointer;
 
29
  }
30
  .fw-option-type-multi-upload.images-only .thumb a {
31
  position: absolute;
26
  width: 100%;
27
  height: 100%;
28
  cursor: pointer;
29
+ background-image: url(data:image/png;base64,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eG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTUtMDItMTNUMTc6NTM6MjQrMDI6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxNS0wMi0xM1QxNzo1Mzo1NyswMjowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTUtMDItMTNUMTc6NTM6NTcrMDI6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6SUNDUHJvZmlsZT5EaXNwbGF5PC9waG90b3Nob3A6SUNDUHJvZmlsZT4KICAgICAgICAgPHhtcE1NOkluc3RhbmNlSUQ+eG1wLmlpZDpkMzA1MmMwOC0xYmY4LTQ3YmQtODNmNS1iYjdjOWNiMTg1YzA8L3htcE1NOkluc3RhbmNlSUQ+CiAgICAgICAgIDx4bXBNTTpEb2N1bWVudElEPnhtcC5kaWQ6YWYyZDk5N2MtYjdiMC00NDQ4LTgzZmMtNjMyNjZhMzFkODNiPC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6YWYyZDk5N2MtYjdiMC00NDQ4LTgzZmMtNjMyNjZhMzFkODNiPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmFmMmQ5OTdjLWI3YjAtNDQ0OC04M2ZjLTYzMjY2YTMxZDgzYjwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNS0wMi0xM1QxNzo1MzoyNCswMjowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y29udmVydGVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpwYXJhbWV0ZXJzPmZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmc8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmQzMDUyYzA4LTFiZjgtNDdiZC04M2Y1LWJiN2M5Y2IxODVjMDwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNS0wMi0xM1QxNzo1Mzo1NyswMjowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6U2VxPgogICAgICAgICA8L3htcE1NOkhpc3Rvcnk+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4xMDwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4xMDwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+Hb1qbgAAACBjSFJNAABtdQAAc6AAAPzdAACDZAAAcOgAAOxoAAAwPgAAEJDk7JnqAAAAMElEQVR42mK8e/fufwY0oKSkhC7EwMRAJBhAhYz////H8My9e/eGpGcAAAAA//8DAGQMCqXbd1F6AAAAAElFTkSuQmCC);
30
  }
31
  .fw-option-type-multi-upload.images-only .thumb a {
32
  position: absolute;
framework/includes/option-types/upload/static/css/images-only.css CHANGED
@@ -17,6 +17,7 @@
17
  width: 100%;
18
  height: 100%;
19
  cursor: pointer;
 
20
  }
21
  .fw-option-type-upload.images-only .thumb a {
22
  position: absolute;
17
  width: 100%;
18
  height: 100%;
19
  cursor: pointer;
20
+ background-image: url(data:image/png;base64,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eG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTUtMDItMTNUMTc6NTM6MjQrMDI6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxNS0wMi0xM1QxNzo1Mzo1NyswMjowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTUtMDItMTNUMTc6NTM6NTcrMDI6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6SUNDUHJvZmlsZT5EaXNwbGF5PC9waG90b3Nob3A6SUNDUHJvZmlsZT4KICAgICAgICAgPHhtcE1NOkluc3RhbmNlSUQ+eG1wLmlpZDpkMzA1MmMwOC0xYmY4LTQ3YmQtODNmNS1iYjdjOWNiMTg1YzA8L3htcE1NOkluc3RhbmNlSUQ+CiAgICAgICAgIDx4bXBNTTpEb2N1bWVudElEPnhtcC5kaWQ6YWYyZDk5N2MtYjdiMC00NDQ4LTgzZmMtNjMyNjZhMzFkODNiPC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6YWYyZDk5N2MtYjdiMC00NDQ4LTgzZmMtNjMyNjZhMzFkODNiPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmFmMmQ5OTdjLWI3YjAtNDQ0OC04M2ZjLTYzMjY2YTMxZDgzYjwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNS0wMi0xM1QxNzo1MzoyNCswMjowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y29udmVydGVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpwYXJhbWV0ZXJzPmZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmc8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmQzMDUyYzA4LTFiZjgtNDdiZC04M2Y1LWJiN2M5Y2IxODVjMDwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNS0wMi0xM1QxNzo1Mzo1NyswMjowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6U2VxPgogICAgICAgICA8L3htcE1NOkhpc3Rvcnk+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4xMDwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4xMDwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+Hb1qbgAAACBjSFJNAABtdQAAc6AAAPzdAACDZAAAcOgAAOxoAAAwPgAAEJDk7JnqAAAAMElEQVR42mK8e/fufwY0oKSkhC7EwMRAJBhAhYz////H8My9e/eGpGcAAAAA//8DAGQMCqXbd1F6AAAAAElFTkSuQmCC);
21
  }
22
  .fw-option-type-upload.images-only .thumb a {
23
  position: absolute;
framework/manifest.php CHANGED
@@ -4,4 +4,4 @@ $manifest = array();
4
 
5
  $manifest['name'] = __('Unyson', 'fw');
6
 
7
- $manifest['version'] = '2.1.22';
4
 
5
  $manifest['name'] = __('Unyson', 'fw');
6
 
7
+ $manifest['version'] = '2.1.23';
framework/static/css/backend-options.css CHANGED
@@ -93,7 +93,7 @@ body.rtl .fw-options-tabs-first-level > .fw-options-tabs-list ul li {
93
  }
94
 
95
  .fw-options-tabs-wrapper .metabox-holder,
96
- .fw-postboxes.metabox-holder {
97
  padding-top: 0 !important; /* to rewrite: #wpbody-content .metabox-holder */
98
  margin: 0 !important; /* to rewrite: #wpbody-content .metabox-holder */
99
  }
@@ -162,7 +162,6 @@ body.rtl .fw-options-tabs-contents .fw-options-tabs-list ul li:first-child a.nav
162
 
163
  @media (max-width: 782px) {
164
  .fw-options-tabs-first-level > .fw-options-tabs-list ul li {
165
- margin-top: 3px;
166
  float: none;
167
  }
168
 
@@ -175,6 +174,446 @@ body.rtl .fw-options-tabs-contents .fw-options-tabs-list ul li:first-child a.nav
175
  }
176
  }
177
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
178
 
179
  /* Fixes for edit post page */
180
 
@@ -182,12 +621,13 @@ form#post .fw-options-tabs-first-level > .fw-options-tabs-list ul li.ui-state-ac
182
  border-bottom-color: #FFFFFF;
183
  }
184
 
185
- form#post .fw-options-tabs-contents .fw-postboxes {
186
  padding: 0 10px;
187
  }
188
 
 
189
 
190
- /** Fixes postboxes */
191
 
192
  .fw-postbox-without-name > h3.hndle,
193
  .fw-postbox-without-name > .handlediv {
@@ -249,6 +689,8 @@ body.rtl .fw-postbox .handlediv:before {
249
 
250
  /* end copy from: .js .meta-box-sortables .postbox .handlediv */
251
 
 
 
252
 
253
  /* Input Options */
254
 
@@ -289,8 +731,8 @@ body.rtl .fw-postbox > .inside > .fw-backend-options-last-border-hider {
289
  .fw-backend-option-design-default > .fw-backend-option-input.width-type-fixed > .fw-inner,
290
  .fw-backend-option-design-taxonomy > td > .fw-backend-option-input.width-type-fixed > .fw-inner,
291
  .fw-backend-option-fixed-width {
292
- width: 428px;
293
- max-width: 100%;
294
  }
295
 
296
  .fw-backend-option-design-default > .fw-backend-option-input.width-type-fixed > .fw-inner,
@@ -396,7 +838,6 @@ body.rtl .fw-backend-option-design-default > .fw-backend-option-desc > .fw-inner
396
  /* .fw-force-xs have design like on mobile */
397
 
398
  .fw-force-xs .fw-options-tabs-first-level > .fw-options-tabs-list ul li {
399
- margin-top: 3px;
400
  float: none;
401
  }
402
 
93
  }
94
 
95
  .fw-options-tabs-wrapper .metabox-holder,
96
+ .fw-backend-postboxes.metabox-holder {
97
  padding-top: 0 !important; /* to rewrite: #wpbody-content .metabox-holder */
98
  margin: 0 !important; /* to rewrite: #wpbody-content .metabox-holder */
99
  }
162
 
163
  @media (max-width: 782px) {
164
  .fw-options-tabs-first-level > .fw-options-tabs-list ul li {
 
165
  float: none;
166
  }
167
 
174
  }
175
  }
176
 
177
+ /* Side tabs */
178
+
179
+ form.fw-settings-form.fw-backend-side-tabs {
180
+ background-color: #fff;
181
+ -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.05);
182
+ box-shadow: 0 1px 2px rgba(0,0,0,.05);
183
+ }
184
+
185
+ .fw-backend-side-tabs .fw-options-tabs-first-level {
186
+ background:
187
+ #fff
188
+ url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAAABCAYAAAAo/lyUAAAAIklEQVQ4T2N8/Pjxf4ZRMBoCoyEwGgKjITAaAqMhMKRDAACcIAOqH7nZlwAAAABJRU5ErkJgggAA') /* #e3e3e3 500x1 */
189
+ -302px /* 198-500 */
190
+ 0
191
+ repeat-y;
192
+ }
193
+
194
+ .fw-backend-side-tabs .fw-options-tabs-first-level > .fw-options-tabs-list {
195
+ width: 198px;
196
+ margin: 0;
197
+ padding: 0 0 70px;
198
+ float: left;
199
+ border-bottom: none;
200
+ }
201
+
202
+ .fw-backend-side-tabs .fw-options-tabs-first-level > .fw-options-tabs-contents {
203
+ margin-left: 198px !important;
204
+ background: #fff;
205
+ }
206
+
207
+ .fw-backend-side-tabs .fw-options-tabs-first-level > .fw-options-tabs-contents > .fw-inner {
208
+ width: 100%;
209
+ min-height: 100%;
210
+ border-right: 1px solid #e5e5e5;
211
+ display: table;
212
+ padding-bottom: 70px;
213
+ }
214
+
215
+ .fw-backend-side-tabs .fw-options-tabs-first-level > .fw-options-tabs-list ul li {
216
+ float: none;
217
+ margin-right: 0;
218
+ border: 1px solid #d3d3d3;
219
+ border-width: 0 0 1px;
220
+ }
221
+
222
+ .fw-backend-side-tabs .fw-options-tabs-first-level > .fw-options-tabs-list ul li a.nav-tab {
223
+ position: relative;
224
+ outline: none;
225
+ margin: 0;
226
+ padding: 0 10px 0 20px;
227
+ display: block;
228
+ height: 44px;
229
+ line-height: 44px;
230
+ border: none;
231
+ font-size: 14px;
232
+ font-weight: 400;
233
+ color: #333;
234
+ -webkit-box-shadow: none;
235
+ box-shadow: none;
236
+ }
237
+
238
+ .fw-backend-side-tabs .fw-options-tabs-first-level > .fw-options-tabs-list .ui-tabs-nav a:hover {
239
+ background: #dadada;
240
+ }
241
+
242
+ .fw-backend-side-tabs .fw-options-tabs-first-level > .fw-options-tabs-list ul li.ui-state-active {
243
+ border-color: #b1b1b1;
244
+ margin-top: -1px;
245
+ border-width: 1px 0;
246
+ position: relative;
247
+ }
248
+
249
+ .fw-backend-side-tabs .fw-options-tabs-first-level > .fw-options-tabs-list ul li.ui-state-active:first-child {
250
+ margin-top: 0;
251
+ border-top-width: 0;
252
+ }
253
+
254
+ .fw-backend-side-tabs .fw-options-tabs-first-level > .fw-options-tabs-list ul li.ui-state-active a.nav-tab {
255
+ font-weight: 600;
256
+ margin: 0;
257
+ }
258
+
259
+ .fw-backend-side-tabs .fw-options-tabs-first-level > .fw-options-tabs-list ul li.ui-state-active a.nav-tab,
260
+ .fw-backend-side-tabs .fw-options-tabs-first-level > .fw-options-tabs-list ul li.ui-state-active a.nav-tab:hover {
261
+ background: #bdbdbd;
262
+ color: #fff;
263
+ }
264
+
265
+ .fw-backend-side-tabs .fw-options-tabs-list ul li:focus {
266
+ outline: none;
267
+ }
268
+
269
+ .fw-backend-side-tabs .fw-options-tabs-contents .fw-options-tabs-list {
270
+ padding: 0;
271
+ }
272
+
273
+ .fw-backend-side-tabs .fw-options-tabs-contents .fw-options-tabs-list ul li:after {
274
+ content: none;
275
+ }
276
+
277
+ .fw-backend-side-tabs .fw-options-tabs-contents .fw-options-tabs-list ul {
278
+ padding: 0;
279
+ background: #f7f7f7;
280
+ border-width: 1px 0;
281
+ clear: both;
282
+ }
283
+
284
+ .fw-backend-side-tabs .fw-options-tabs-contents .fw-options-tabs-list ul:before,
285
+ .fw-backend-side-tabs .fw-options-tabs-contents .fw-options-tabs-list ul:after {
286
+ display: table;
287
+ content: " ";
288
+ }
289
+
290
+ .fw-backend-side-tabs .fw-options-tabs-contents .fw-options-tabs-list ul:after {
291
+ clear: both;
292
+ margin-bottom: -1px;
293
+ }
294
+
295
+ .fw-backend-side-tabs .fw-options-tabs-contents .fw-options-tabs-list ul,
296
+ .fw-backend-side-tabs .fw-options-tabs-contents .fw-options-tabs-list ul li {
297
+ border-bottom: 1px solid #e5e5e5;
298
+ }
299
+
300
+ .fw-backend-side-tabs .fw-options-tabs-contents .fw-options-tabs-list ul li {
301
+ position: relative;
302
+ border-right: 1px solid #e5e5e5;
303
+ }
304
+
305
+ .fw-backend-side-tabs .fw-options-tabs-contents .fw-options-tabs-list ul li.ui-state-active:after {
306
+ height: 1px;
307
+ background: #fff;
308
+ width: 100%;
309
+ display: block;
310
+ content: ' ';
311
+ position: absolute;
312
+ }
313
+
314
+ .fw-backend-side-tabs .fw-options-tabs-contents .fw-options-tabs-list ul li a.nav-tab,
315
+ .fw-backend-side-tabs .fw-options-tabs-contents .fw-options-tabs-list ul li.ui-state-active a.nav-tab {
316
+ margin: 0;
317
+ padding: 0 24px;
318
+ border: none;
319
+ height: 44px;
320
+ line-height: 44px;
321
+ font-size: 14px;
322
+ -webkit-box-shadow: none;
323
+ box-shadow: none;
324
+ outline: none;
325
+ }
326
+
327
+ .fw-backend-side-tabs .fw-options-tabs-contents .fw-options-tabs-list ul li a.nav-tab {
328
+ background: transparent;
329
+ color: #000;
330
+ }
331
+
332
+ .fw-backend-side-tabs .fw-options-tabs-contents .fw-options-tabs-list ul li.ui-state-active a.nav-tab {
333
+ background: #fff;
334
+ }
335
+
336
+ .fw-backend-side-tabs .fw-options-tabs-contents .fw-options-tabs-list ul > li a.nav-tab:hover {
337
+ color: #0074a2;
338
+ }
339
+
340
+ .fw-backend-side-tabs .fw-options-tabs-wrapper .fw-options-tabs-contents {
341
+ margin-top: 0 !important;
342
+ }
343
+
344
+ /* hide last option border */
345
+ .fw-backend-side-tabs .fw-options-tabs-wrapper .fw-options-tabs-contents > .fw-inner:after {
346
+ content: ' ';
347
+ display: block;
348
+ width: 100%;
349
+ height: 1px;
350
+ border-bottom: 1px solid #FFFFFF;
351
+ margin-top: -2px;
352
+ position: relative;
353
+ }
354
+
355
+ .fw-backend-side-tabs .fw-backend-postboxes > .fw-postbox {
356
+ border: none;
357
+ -webkit-box-shadow: none;
358
+ box-shadow: none;
359
+ }
360
+
361
+ .fw-backend-side-tabs .fw-backend-postboxes > .fw-postbox.closed {
362
+ margin-bottom: 0;
363
+ }
364
+
365
+ .fw-backend-side-tabs .fw-backend-postboxes > .fw-postbox > h3 {
366
+ position: relative;
367
+ padding: 0 25px;
368
+ height: 47px;
369
+ line-height: 45px;
370
+ border-bottom: none !important;
371
+ font-size: 17px;
372
+ color: #0074a2;
373
+ }
374
+
375
+ .fw-backend-side-tabs .fw-backend-postboxes > .fw-postbox > h3:after {
376
+ content: "";
377
+ display: block;
378
+ position: absolute;
379
+ left: 0; right: 0; bottom: 0;
380
+ height: 1px;
381
+ border-top: 1px solid #eee;
382
+ border-bottom: 1px solid #eee;
383
+ z-index: 1;
384
+ }
385
+
386
+ .fw-backend-side-tabs .fw-backend-postboxes > .fw-postbox > h3 .handlediv {
387
+ display: none;
388
+ }
389
+
390
+ .fw-backend-side-tabs .fw-backend-postboxes > .fw-postbox > .handlediv:before {
391
+ top: 4px;
392
+ }
393
+
394
+ .fw-backend-side-tabs input[type="submit"]:focus {
395
+ outline: none;
396
+ }
397
+
398
+ @media (max-width: 782px) {
399
+ .fw-backend-side-tabs .fw-options-tabs-first-level {
400
+ background-image: none;
401
+ }
402
+
403
+ .fw-backend-side-tabs .fw-options-tabs-first-level > .fw-options-tabs-list {
404
+ width: 100%;
405
+ text-align: center;
406
+ float: none;
407
+ padding: 0;
408
+ }
409
+
410
+ .fw-backend-side-tabs .fw-options-tabs-first-level > .fw-options-tabs-list ul li {
411
+ margin-top: 0;
412
+ }
413
+
414
+ .fw-backend-side-tabs .fw-options-tabs-first-level > .fw-options-tabs-contents {
415
+ float: none;
416
+ margin-left: 0 !important;
417
+ }
418
+
419
+ .fw-backend-side-tabs .fw-options-tabs-first-level > .fw-options-tabs-contents > .fw-inner {
420
+ padding-bottom: 0;
421
+ }
422
+
423
+ .fw-backend-side-tabs .fw-options-tabs-contents .fw-options-tabs-list ul {
424
+ height: auto;
425
+ border-bottom-width: 0;
426
+ }
427
+
428
+ .fw-backend-side-tabs .fw-options-tabs-contents .fw-options-tabs-list ul li {
429
+ float: none;
430
+ width: 100%;
431
+ text-align: center;
432
+ border-right-width: 0;
433
+ }
434
+
435
+ .fw-backend-side-tabs .fw-options-tabs-contents .fw-options-tabs-list ul li.ui-state-active:after {
436
+ display: none;
437
+ }
438
+
439
+ .fw-backend-side-tabs .fw-options-tabs-contents .fw-options-tabs-list ul li.ui-state-active a.nav-tab {
440
+ margin-bottom: 0;
441
+ border-bottom-width: 0;
442
+ }
443
+
444
+ .fw-backend-side-tabs .fw-options-tabs-contents .fw-options-tabs-list ul li a.nav-tab,
445
+ .fw-backend-side-tabs .fw-options-tabs-contents .fw-options-tabs-list ul li.ui-state-active a.nav-tab {
446
+ width: 100%;
447
+ height: auto;
448
+ padding: 0;
449
+ }
450
+
451
+ .fw-backend-side-tabs .fw-backend-postboxes > .fw-postbox > .handlediv:before {
452
+ top: 2px;
453
+ }
454
+ }
455
+
456
+
457
+ /* form header */
458
+
459
+ .fw-backend-side-tabs .fw-settings-form-header {
460
+ background: #0074a2;
461
+ margin-top: 20px;
462
+ }
463
+
464
+ .fw-backend-side-tabs .fw-settings-form-header a:focus {
465
+ outline: none;
466
+ -webkit-box-shadow: none;
467
+ box-shadow: none;
468
+ }
469
+
470
+ .fw-backend-side-tabs .fw-settings-form-header > div {
471
+ padding: 20px 20px 20px 30px;
472
+ }
473
+
474
+ .fw-backend-side-tabs .fw-settings-form-header h2 {
475
+ position: relative;
476
+ font-size: 27px;
477
+ font-weight: 300;
478
+ line-height: 1;
479
+ color: #fff;
480
+ padding: 0;
481
+ }
482
+
483
+ .fw-backend-side-tabs .fw-settings-form-header h2 small {
484
+ margin-left: 9px;
485
+ font-size: 12px;
486
+ font-weight: 300;
487
+ color: #fff;
488
+ opacity: .6;
489
+ white-space: nowrap;
490
+ }
491
+
492
+ .fw-backend-side-tabs .fw-settings-form-header h2 a,
493
+ .fw-backend-side-tabs .fw-settings-form-header h2 a:hover {
494
+ text-decoration: none;
495
+ }
496
+
497
+ .fw-backend-side-tabs .fw-settings-form-header h2 a:hover small {
498
+ opacity: 1;
499
+ }
500
+
501
+ .fw-backend-side-tabs .fw-settings-form-header .form-header-buttons {
502
+ text-align: right;
503
+ }
504
+
505
+ .fw-backend-side-tabs .fw-settings-form-header .form-header-buttons input {
506
+ -webkit-box-shadow: none;
507
+ box-shadow: none;
508
+ vertical-align: middle;
509
+ }
510
+
511
+ .fw-backend-side-tabs .fw-settings-form-header .form-header-buttons input:active {
512
+ vertical-align: middle;
513
+ }
514
+
515
+ .fw-backend-side-tabs .fw-settings-form-header .form-header-buttons .submit-button-separator {
516
+ margin: 0 12px;
517
+ color: #358eb6;
518
+ border: 1px solid #358eb6;
519
+ border-width: 0 1px;
520
+ display: inline-block;
521
+ height: 14px;
522
+ vertical-align: middle;
523
+ }
524
+
525
+ .fw-backend-side-tabs .fw-settings-form-header .form-header-buttons .submit-button-reset {
526
+ padding: 0;
527
+ height: 26px;
528
+ line-height: 26px;
529
+ color: #fff;
530
+ background-color: transparent;
531
+ border-width: 0;
532
+ }
533
+
534
+ .fw-backend-side-tabs .fw-settings-form-header .form-header-buttons .submit-button-reset:hover {
535
+ text-decoration: underline;
536
+ }
537
+
538
+ .fw-backend-side-tabs .fw-settings-form-header .form-header-buttons .submit-button-save {
539
+ padding: 0 18px;
540
+ height: 26px;
541
+ line-height: 24px;
542
+ background: #fff;
543
+ color: #0074a2;
544
+ -webkit-border-radius: 2px;
545
+ border-radius: 2px;
546
+ }
547
+
548
+ .fw-backend-side-tabs .fw-settings-form-header .form-header-buttons .submit-button-save:hover {
549
+ background: #f5f5f5;
550
+ }
551
+
552
+ @media (max-width: 782px) {
553
+ .fw-backend-side-tabs .fw-settings-form-header {
554
+ text-align: center;
555
+ }
556
+
557
+ .fw-backend-side-tabs .fw-settings-form-header .form-header-buttons {
558
+ text-align: inherit;
559
+ }
560
+
561
+ .fw-backend-side-tabs .fw-settings-form-header > div:first-child {
562
+ padding-bottom: 0;
563
+ }
564
+ }
565
+
566
+ /* end: form header */
567
+
568
+ /* footer buttons */
569
+
570
+ .fw-backend-side-tabs .form-footer-buttons {
571
+ position: relative;
572
+ min-height: 70px;
573
+ border-top: 1px solid #e5e5e5;
574
+ background: #f7f7f7;
575
+ }
576
+
577
+ .fw-backend-side-tabs .fw-options-tabs-wrapper + .form-footer-buttons {
578
+ margin: -71px 0 0 198px;
579
+ }
580
+
581
+ .fw-backend-side-tabs .fw-backend-option + .form-footer-buttons,
582
+ .fw-backend-side-tabs .fw-backend-postboxes + .form-footer-buttons {
583
+ margin-top: -1px; /* hide last option border */
584
+ }
585
+
586
+ .fw-backend-side-tabs .form-footer-buttons input[type="submit"] {
587
+ margin: 20px 0 0;
588
+ float: left;
589
+ -webkit-box-shadow: none;
590
+ box-shadow: none;
591
+ -webkit-border-radius: 0;
592
+ border-radius: 2px;
593
+ }
594
+
595
+ .fw-backend-side-tabs .form-footer-buttons input[type="submit"].button-primary {
596
+ margin-left: 26px;
597
+ }
598
+
599
+ .fw-backend-side-tabs .form-footer-buttons input[type="submit"].button-secondary {
600
+ margin-left: 13px;
601
+ }
602
+
603
+ @media (max-width: 782px) {
604
+ .fw-backend-side-tabs .fw-options-tabs-wrapper + .form-footer-buttons {
605
+ margin: -1px 0 0; /* hide last option border */
606
+ }
607
+ }
608
+
609
+ /* end: footer buttons */
610
+
611
+ /* end: Side tabs */
612
+
613
+ /* end: Tabs */
614
+
615
+
616
+ /* Boxes */
617
 
618
  /* Fixes for edit post page */
619
 
621
  border-bottom-color: #FFFFFF;
622
  }
623
 
624
+ form#post .fw-options-tabs-contents .fw-backend-postboxes {
625
  padding: 0 10px;
626
  }
627
 
628
+ /* end: Fixes for edit post page */
629
 
630
+ /* Fixes postboxes */
631
 
632
  .fw-postbox-without-name > h3.hndle,
633
  .fw-postbox-without-name > .handlediv {
689
 
690
  /* end copy from: .js .meta-box-sortables .postbox .handlediv */
691
 
692
+ /* end: Boxes */
693
+
694
 
695
  /* Input Options */
696
 
731
  .fw-backend-option-design-default > .fw-backend-option-input.width-type-fixed > .fw-inner,
732
  .fw-backend-option-design-taxonomy > td > .fw-backend-option-input.width-type-fixed > .fw-inner,
733
  .fw-backend-option-fixed-width {
734
+ width: 100%;
735
+ max-width: 428px;
736
  }
737
 
738
  .fw-backend-option-design-default > .fw-backend-option-input.width-type-fixed > .fw-inner,
838
  /* .fw-force-xs have design like on mobile */
839
 
840
  .fw-force-xs .fw-options-tabs-first-level > .fw-options-tabs-list ul li {
 
841
  float: none;
842
  }
843
 
framework/static/css/fw.css CHANGED
@@ -2718,41 +2718,37 @@ a.fw-wp-link:hover {
2718
 
2719
  /* OptionsModal */
2720
 
2721
- .fw-options-modal.fw-options-modal-medium > .media-modal {
2722
- left: 15%;
2723
- right: 15%;
 
 
 
 
 
 
 
2724
  }
2725
 
2726
  .fw-options-modal.fw-options-modal-small > .media-modal {
2727
- top: 20%;
2728
- bottom: 20%;
2729
- left: 20%;
2730
- right: 20%;
2731
  }
2732
 
2733
- @media (min-width: 1824px) {
2734
- .fw-options-modal.fw-options-modal-large > .media-modal {
2735
- top: 10%;
2736
- bottom: 10%;
2737
- left: 10%;
2738
- right: 10%;
2739
- }
2740
-
2741
- .fw-options-modal.fw-options-modal-medium > .media-modal {
2742
- top: 15%;
2743
- bottom: 15%;
2744
- left: 20%;
2745
- right: 20%;
2746
- }
2747
 
2748
- .fw-options-modal.fw-options-modal-small > .media-modal {
2749
- top: 29%;
2750
- bottom: 29%;
2751
- left: 29%;
2752
- right: 29%;
2753
- }
2754
  }
2755
 
 
 
 
 
2756
  .fw-options-modal .fw-options-tabs-first-level > .fw-options-tabs-list {
2757
  padding-top: 20px;
2758
  }
@@ -2781,6 +2777,8 @@ a.fw-wp-link:hover {
2781
  border-right: 1px solid #ccc;
2782
  }
2783
 
 
 
2784
  /* Hide last border */
2785
 
2786
  .fw-options-modal .media-frame-content > form {
2718
 
2719
  /* OptionsModal */
2720
 
2721
+ /* sizes */
2722
+
2723
+ .fw-options-modal.fw-options-modal-small > .media-modal,
2724
+ .fw-options-modal.fw-options-modal-medium > .media-modal,
2725
+ .fw-options-modal.fw-options-modal-large > .media-modal {
2726
+ margin: auto;
2727
+
2728
+ -webkit-box-sizing: border-box;
2729
+ -moz-box-sizing: border-box;
2730
+ box-sizing: border-box;
2731
  }
2732
 
2733
  .fw-options-modal.fw-options-modal-small > .media-modal {
2734
+ max-width: 750px;
2735
+ max-height: 500px;
 
 
2736
  }
2737
 
2738
+ .fw-options-modal.fw-options-modal-medium > .media-modal {
2739
+ max-width: 840px;
2740
+ max-height: 660px;
2741
+ }
 
 
 
 
 
 
 
 
 
 
2742
 
2743
+ .fw-options-modal.fw-options-modal-large > .media-modal {
2744
+ max-width: 1200px;
2745
+ max-height: 800px;
 
 
 
2746
  }
2747
 
2748
+ /* end: sizes */
2749
+
2750
+ /* tabs fixes */
2751
+
2752
  .fw-options-modal .fw-options-tabs-first-level > .fw-options-tabs-list {
2753
  padding-top: 20px;
2754
  }
2777
  border-right: 1px solid #ccc;
2778
  }
2779
 
2780
+ /* end: tabs fixes */
2781
+
2782
  /* Hide last border */
2783
 
2784
  .fw-options-modal .media-frame-content > form {
framework/static/js/backend-options.js CHANGED
@@ -40,7 +40,7 @@ jQuery(document).ready(function($){
40
  /** Remove events added by /wp-admin/js/postbox.js */
41
  $boxes.find('h3, .handlediv').off('click.postboxes');
42
 
43
- var eventNamespace = '.fw-postboxes';
44
 
45
  // make postboxes to close/open on click
46
  $boxes
@@ -115,7 +115,7 @@ jQuery(document).ready(function($){
115
  /**
116
  * leave open only first boxes
117
  */
118
- data.$elements.find('.fw-postboxes > .fw-postbox:not(:first-child)').addClass('closed');
119
 
120
  $boxes.addClass('fw-postbox-initialized');
121
 
@@ -141,7 +141,7 @@ jQuery(document).ready(function($){
141
  {
142
  var $sortables = data.$elements
143
  .find('.postbox:not(.fw-postbox) .fw-postbox, .fw-options-tabs-wrapper .fw-postbox')
144
- .closest('.fw-postboxes')
145
  .not('.fw-sortable-disabled');
146
 
147
  $sortables.each(function(){
40
  /** Remove events added by /wp-admin/js/postbox.js */
41
  $boxes.find('h3, .handlediv').off('click.postboxes');
42
 
43
+ var eventNamespace = '.fw-backend-postboxes';
44
 
45
  // make postboxes to close/open on click
46
  $boxes
115
  /**
116
  * leave open only first boxes
117
  */
118
+ data.$elements.find('.fw-backend-postboxes > .fw-postbox:not(:first-child)').addClass('closed');
119
 
120
  $boxes.addClass('fw-postbox-initialized');
121
 
141
  {
142
  var $sortables = data.$elements
143
  .find('.postbox:not(.fw-postbox) .fw-postbox, .fw-options-tabs-wrapper .fw-postbox')
144
+ .closest('.fw-backend-postboxes')
145
  .not('.fw-sortable-disabled');
146
 
147
  $sortables.each(function(){
framework/static/js/fw.js CHANGED
@@ -599,32 +599,19 @@ fw.getQueryString = function(name) {
599
 
600
  $modalWrapper.addClass('fw-modal fw-options-modal');
601
 
602
- /*
603
- * if the modal has specified what size it wants to have
604
- * we obey, if not then we set a default size in case it is
605
- * the first modal in the stack, or scale it down if it isn't
606
- */
607
  if (_.indexOf(['large', 'medium', 'small'], size) !== -1) {
608
  $modalWrapper.addClass('fw-options-modal-' + size);
609
  } else {
610
- var $topModal = modalsStack.peek();
611
- if ($topModal) {
612
- var topModalPositions = _.map(
613
- $topModal.css(['top', 'bottom', 'left', 'right']),
614
- parseFloat
615
- );
616
- $modal.css({
617
- top: topModalPositions[0] + 30,
618
- bottom: topModalPositions[1] + 30,
619
- left: topModalPositions[2] + 30,
620
- right: topModalPositions[3] + 30
621
- });
622
- } else {
623
- $modalWrapper.addClass('fw-options-modal-' + modal.defaultSize);
624
- }
625
  }
626
 
627
- /*
 
 
 
 
 
 
628
  * adjust the z-index for the new frame's backdrop and modal
629
  * (160000 is what wp sets for its modals)
630
  */
599
 
600
  $modalWrapper.addClass('fw-modal fw-options-modal');
601
 
 
 
 
 
 
602
  if (_.indexOf(['large', 'medium', 'small'], size) !== -1) {
603
  $modalWrapper.addClass('fw-options-modal-' + size);
604
  } else {
605
+ $modalWrapper.addClass('fw-options-modal-' + modal.defaultSize);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
606
  }
607
 
608
+ if (stackSize) {
609
+ $modal.css({
610
+ border: (stackSize * 30) +'px solid transparent'
611
+ });
612
+ }
613
+
614
+ /**
615
  * adjust the z-index for the new frame's backdrop and modal
616
  * (160000 is what wp sets for its modals)
617
  */
framework/views/backend-settings-form.php CHANGED
@@ -4,11 +4,82 @@
4
  * @var array $values
5
  * @var string $focus_tab_input_name
6
  * @var string $reset_input_name
 
 
7
  */
8
  ?>
9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  <?php echo fw()->backend->render_options($options, $values); ?>
11
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  <!-- focus tab -->
13
  <?php
14
  $focus_tab_id = trim( FW_Request::POST($focus_tab_input_name, FW_Request::GET($focus_tab_input_name, '')) );
@@ -48,7 +119,7 @@ jQuery(function($){
48
  * so use alternative solution http://stackoverflow.com/a/5721762
49
  */
50
  {
51
- $(this).closest('form').find('input[type="submit"]').removeAttr('clicked');
52
  $(this).attr('clicked', '');
53
  }
54
 
@@ -66,7 +137,7 @@ jQuery(function($){
66
  <!-- ajax submit -->
67
  <script type="text/javascript">
68
  jQuery(function ($) {
69
- <?php if (!fw()->theme->get_config('settings_form_ajax_submit', true)): ?>
70
  return; // ajax submit is disabled in theme config
71
  <?php endif; ?>
72
 
@@ -195,7 +266,6 @@ jQuery(function($){
195
  'display': '',
196
  'height': ''
197
  });
198
- elements.$form.find('.fw-options-tabs-wrapper').css('opacity', '');
199
  }
200
 
201
  fwEvents.trigger('fw:options:init', {$elements: elements.$form});
4
  * @var array $values
5
  * @var string $focus_tab_input_name
6
  * @var string $reset_input_name
7
+ * @var bool $ajax_submit
8
+ * @var bool $side_tabs
9
  */
10
  ?>
11
 
12
+ <?php if ($side_tabs): ?>
13
+ <div class="fw-settings-form-header fw-row" style="opacity:0;">
14
+ <div class="fw-col-xs-12 fw-col-sm-6">
15
+ <h2><?php echo fw()->theme->manifest->get_name() ?>
16
+ <?php if (fw()->theme->manifest->get('author')): ?>
17
+ <?php
18
+ if (fw()->theme->manifest->get('author_uri')) {
19
+ echo fw_html_tag('a', array(
20
+ 'href' => fw()->theme->manifest->get('author_uri'),
21
+ 'target' => '_blank'
22
+ ), '<small>'. __('by', 'fw') .' '. fw()->theme->manifest->get('author') .'</small>');
23
+ } else {
24
+ echo '<small>'. fw()->theme->manifest->get('author') .'</small>';
25
+ }
26
+ ?>
27
+ <?php endif; ?>
28
+ </h2>
29
+ </div>
30
+ <div class="fw-col-xs-12 fw-col-sm-6">
31
+ <div class="form-header-buttons">
32
+ <?php
33
+ echo fw_html_tag('input', array(
34
+ 'type' => 'submit',
35
+ 'name' => '_fw_reset_options',
36
+ 'value' => __('Reset Options', 'fw'),
37
+ 'class' => 'button-secondary button-large submit-button-reset',
38
+ ))
39
+ ?>
40
+ <i class="submit-button-separator"></i>
41
+ <?php
42
+ echo fw_html_tag('input', array(
43
+ 'type' => 'submit',
44
+ 'name' => '_fw_save_options',
45
+ 'value' => __('Save Changes', 'fw'),
46
+ 'class' => 'button-primary button-large submit-button-save',
47
+ ))
48
+ ?>
49
+ </div>
50
+ </div>
51
+ </div>
52
+ <script type="text/javascript">
53
+ jQuery(function($){
54
+ fwEvents.on("fw:options:init", function(data){
55
+ // styles are loaded in footer and are applied after page load
56
+ data.$elements.find('.fw-settings-form-header').fadeTo('fast', 1, function(){ $(this).css('opacity', ''); });
57
+ }, 300);
58
+ });
59
+ </script>
60
+ <?php endif; ?>
61
+
62
  <?php echo fw()->backend->render_options($options, $values); ?>
63
 
64
+ <div class="form-footer-buttons">
65
+ <!-- This div is required to follow after options in order to have special styles in case options will contain tabs (css adjacent selector + ) -->
66
+ <?php
67
+ echo fw_html_tag('input', array(
68
+ 'type' => 'submit',
69
+ 'name' => '_fw_save_options',
70
+ 'value' => __('Save Changes', 'fw'),
71
+ 'class' => 'button-primary button-large',
72
+ ));
73
+ echo ($side_tabs ? '' : ' &nbsp;&nbsp; ');
74
+ echo fw_html_tag('input', array(
75
+ 'type' => 'submit',
76
+ 'name' => '_fw_reset_options',
77
+ 'value' => __('Reset Options', 'fw'),
78
+ 'class' => 'button-secondary button-large',
79
+ ));
80
+ ?>
81
+ </div>
82
+
83
  <!-- focus tab -->
84
  <?php
85
  $focus_tab_id = trim( FW_Request::POST($focus_tab_input_name, FW_Request::GET($focus_tab_input_name, '')) );
119
  * so use alternative solution http://stackoverflow.com/a/5721762
120
  */
121
  {
122
+ $(this).closest('form').find('input[type="submit"][clicked]').removeAttr('clicked');
123
  $(this).attr('clicked', '');
124
  }
125
 
137
  <!-- ajax submit -->
138
  <script type="text/javascript">
139
  jQuery(function ($) {
140
+ <?php if (!$ajax_submit): ?>
141
  return; // ajax submit is disabled in theme config
142
  <?php endif; ?>
143
 
266
  'display': '',
267
  'height': ''
268
  });
 
269
  }
270
 
271
  fwEvents.trigger('fw:options:init', {$elements: elements.$form});
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: unyson, themefusecom
3
  Tags: page builder, cms, grid, layout, responsive, back up, backup, db backup, dump, migrate, schedule, search engine optimization, seo, media, slideshow, shortcode, slide, slideshare, slideshow, google sitemaps, sitemaps, analytics, google analytics, calendar, event, events, google maps, learning, lessons, sidebars, breadcrumbs, review, portfolio, framework
4
  Requires at least: 4.0.0
5
  Tested up to: 4.1
6
- Stable tag: 2.1.22
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
@@ -86,10 +86,27 @@ Yes; Unyson will work with any theme.
86
 
87
  == Changelog ==
88
 
 
 
 
 
 
 
 
 
 
 
89
  = 2.1.22 =
90
- * Theme Settings form ajax submit [#198](https://github.com/ThemeFuse/Unyson/issues/198)
91
  * Added javascript helper `fw.soleModal()`
 
92
  * Minor fixes
 
 
 
 
 
 
 
93
 
94
  = 2.1.21 =
95
  * Made the `forms` and `mailer` extensions hidden.
3
  Tags: page builder, cms, grid, layout, responsive, back up, backup, db backup, dump, migrate, schedule, search engine optimization, seo, media, slideshow, shortcode, slide, slideshare, slideshow, google sitemaps, sitemaps, analytics, google analytics, calendar, event, events, google maps, learning, lessons, sidebars, breadcrumbs, review, portfolio, framework
4
  Requires at least: 4.0.0
5
  Tested up to: 4.1
6
+ Stable tag: 2.1.23
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
86
 
87
  == Changelog ==
88
 
89
+ = 2.1.23 =
90
+ * Improved modal sizes *(Set max-width,max-height pixels instead of top,right,bottom,left percents)*
91
+ * Added side tabs styles for Theme Settings page.
92
+
93
+ To enable, add in `{theme}/framework-customizations/theme/config.php`
94
+
95
+ ```
96
+ $cfg['settings_form_side_tabs'] = true;
97
+ ```
98
+
99
  = 2.1.22 =
 
100
  * Added javascript helper `fw.soleModal()`
101
+ * Added `framework/static/js/fw-form-helpers.js`
102
  * Minor fixes
103
+ * Theme Settings form ajax submit [#198](https://github.com/ThemeFuse/Unyson/issues/198)
104
+
105
+ To disable, add in `{theme}/framework-customizations/theme/config.php`
106
+
107
+ ```
108
+ $cfg['settings_form_ajax_submit'] = false;
109
+ ```
110
 
111
  = 2.1.21 =
112
  * Made the `forms` and `mailer` extensions hidden.
unyson.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Unyson
4
  * Plugin URI: http://unyson.themefuse.com/
5
  * Description: A free drag & drop framework that comes with a bunch of built in extensions that will help you develop premium themes fast & easy.
6
- * Version: 2.1.22
7
  * Author: ThemeFuse
8
  * Author URI: http://themefuse.com
9
  * License: GPL2+
3
  * Plugin Name: Unyson
4
  * Plugin URI: http://unyson.themefuse.com/
5
  * Description: A free drag & drop framework that comes with a bunch of built in extensions that will help you develop premium themes fast & easy.
6
+ * Version: 2.1.23
7
  * Author: ThemeFuse
8
  * Author URI: http://themefuse.com
9
  * License: GPL2+