Page Builder by SiteOrigin - Version 2.12.0

Version Description

  • 03 May 2021 =
  • New Parallax Scrolling! Existing users can optionally switch to Modern at Settings > Page Builder > General.
  • ACF: Added widget fields compatibility. siteorigin_panels_before_widget_form action is triggered before the widget form is output.
  • Improved Add/Edit row responsive behavior.
  • Updated sidebar emulator to detect current page ID by path. Resolves WPML compatibility issue.
  • Added WP Rocket Lazy Loading compatibility for row, cell, and, widget background images.
  • Automatic Excerpt: Added support for the <!-- more --> quicktag.
  • Improved indexing of text containing multibyte Unicode such as Greek.
  • Instant Open Widgets: Updated the setting to default enabled for new installs.
  • Limited the Page Builder Layout CSS Output Location setting to the Classic Editor.
  • Add Layout: Improved responsive behavior for long post titles.
  • Ensured background image remove URL only displays when an image is present.
  • SiteOrigin Layout Block: Removed the preview button when a preview isn't available.
  • SiteOrigin Layout Block: Prevent an empty layout from being rendered.
  • Block Editor: Added support for automatic excerpt generation if the first post block is a SiteOrigin Layout Block.
  • Block Editor: Resolved duplicate Add SiteOrigin Layout button.
  • Developer: Ensured prebuilt layout compatibility with JSON MIME type.
  • Developer: Updated depreciated jQuery bind usage.
  • Developer: Replaced older-style PHP type conversion functions with type casts.
  • Developer: Resolved a PHP 8 notice relating to the CSS builder.
  • Developer: Improved WordPress indexing of languages that use multibyte Unicode
Download this release

Release Info

Developer SiteOrigin
Plugin Icon 128x128 Page Builder by SiteOrigin
Version 2.12.0
Comparing to
See all releases

Code changes from version 2.11.8 to 2.12.0

compat/acf-widgets.php ADDED
@@ -0,0 +1,98 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class SiteOrigin_Panels_Compat_ACF_Widgets {
3
+ public function __construct() {
4
+ add_action( 'admin_print_scripts-post-new.php', array( $this, 'enqueue_assets' ), 100 );
5
+ add_action( 'admin_print_scripts-post.php', array( $this, 'enqueue_assets' ), 100 );
6
+
7
+ // Widget Form Rendering.
8
+ add_action( 'siteorigin_panels_before_widget_form', array( $this, 'store_acf_widget_fields_instance' ), 10, 3 );
9
+ add_filter( 'acf/pre_load_value', array( $this, 'load_panels_widget_field_data' ), 10, 3 );
10
+
11
+ // Widget Saving inside of Page Builder.
12
+ add_filter( 'widget_update_callback', array( $this, 'acf_override_instance' ), 10, 4 );
13
+ }
14
+
15
+ public static function single() {
16
+ static $single;
17
+
18
+ return empty( $single ) ? $single = new self() : $single;
19
+ }
20
+
21
+ public function enqueue_assets() {
22
+ if ( SiteOrigin_Panels_Admin::is_admin() ) {
23
+ wp_enqueue_script(
24
+ 'so-panels-acf-widgets-compat',
25
+ siteorigin_panels_url( 'compat/js/acf-widgets' . SITEORIGIN_PANELS_JS_SUFFIX . '.js' ),
26
+ array(
27
+ 'jquery',
28
+ 'so-panels-admin',
29
+ ),
30
+ SITEORIGIN_PANELS_VERSION,
31
+ true
32
+ );
33
+ }
34
+ }
35
+
36
+ /**
37
+ * Extracts the widgets ACF fields, and ACF stores them and the instance.
38
+ *
39
+ * @param $the_widget The WP Widget Object.
40
+ * @param $instance The Panels widget instance.
41
+ */
42
+ public function store_acf_widget_fields_instance( $the_widget, $instance ) {
43
+ $field_groups = acf_get_field_groups( array(
44
+ 'widget' => $the_widget->id_base,
45
+ ) );
46
+
47
+ if ( ! empty( $field_groups ) ) {
48
+ // Get all fields, and merge them into a single array.
49
+ foreach( $field_groups as $field_group ) {
50
+ $fields[] = acf_get_fields( $field_group );
51
+ }
52
+ $fields = call_user_func_array('array_merge', $fields );
53
+
54
+ acf_register_store( 'so_fields', $fields );
55
+ acf_register_store( 'so_widget_instance', $instance['acf'] );
56
+ }
57
+ }
58
+
59
+ /**
60
+ * Sets the ACF Widget Field values based on instance data.
61
+ *
62
+ * @param $value
63
+ * @param $post_id
64
+ * @param $widget_field The ACF object for the field being processed.
65
+ *
66
+ * @return string if set, the user defined field value.
67
+ */
68
+ public function load_panels_widget_field_data( $value, $post_id, $widget_field ) {
69
+ $fields = acf_get_store( 'so_fields' );
70
+ $instance = acf_get_store( 'so_widget_instance' );
71
+
72
+ if ( ! empty( $fields ) ) {
73
+ foreach ( $fields->data as $field ) {
74
+ if ( $field['key'] == $widget_field['key'] && ! empty( $instance->data[ $field['key'] ] ) ) {
75
+ return $instance->data[ $field['key'] ];
76
+ }
77
+ }
78
+ }
79
+ }
80
+
81
+ /**
82
+ * Restores initial ACF form data to prevent saving issue in non SOWB widgets.
83
+ *
84
+ * @param $instance The updated widget settings.
85
+ * @param $new_instance An array of new settings.
86
+ * @param $old_instance An array of old settings.
87
+ * @param $this The current widget instance.
88
+ *
89
+ */
90
+ public function acf_override_instance( $instance, $widget, $old_widget, $the_widget ) {
91
+ // Ensure widget update is from Page Builder and there's ACF data present.
92
+ if ( ! empty( $widget['panels_info'] ) && ! empty( $instance['acf'] ) ) {
93
+ $instance['acf'] = $widget['acf'];
94
+ }
95
+
96
+ return $instance;
97
+ }
98
+ }
compat/js/acf-widgets.js ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ ( function( $ ) {
2
+ $( document ).on( 'open_dialog', function( e, view ) {
3
+ setTimeout( function() {
4
+ acf.doAction( 'append', $( '.so-content' ) );
5
+ }, 1250 )
6
+ } );
7
+ } )( jQuery );
compat/js/acf-widgets.min.js ADDED
@@ -0,0 +1 @@
 
1
+ !function(n){n(document).on("open_dialog",(function(o,t){setTimeout((function(){acf.doAction("append",n(".so-content"))}),1250)}))}(jQuery);
compat/js/siteorigin-panels-layout-block.js CHANGED
@@ -244,14 +244,14 @@ function (_wp$element$Component) {
244
  };
245
 
246
  if (this.state.editing) {
247
- return React.createElement(wp.element.Fragment, null, React.createElement(wp.blockEditor.BlockControls, null, React.createElement(wp.components.Toolbar, {
248
  label: wp.i18n.__('Page Builder Mode.', 'siteorigin-panels')
249
  }, React.createElement(wp.components.ToolbarButton, {
250
  icon: "visibility",
251
  className: "components-icon-button components-toolbar__control",
252
  label: wp.i18n.__('Preview layout.', 'siteorigin-panels'),
253
  onClick: switchToPreview
254
- }))), React.createElement("div", {
255
  key: "layout-block",
256
  className: "siteorigin-panels-layout-block-container",
257
  ref: this.panelsContainer
@@ -332,6 +332,11 @@ wp.blocks.registerBlockType('siteorigin-panels/layout-block', {
332
  setAttributes(panelsAttributes);
333
  wp.data.dispatch('core/editor').unlockPostSaving();
334
  });
 
 
 
 
 
335
  }
336
  };
337
 
@@ -363,7 +368,16 @@ wp.blocks.registerBlockType('siteorigin-panels/layout-block', {
363
  var editorDispatch = wp.data.dispatch('core/editor');
364
  var editorSelect = wp.data.select('core/editor');
365
  var tmpl = jQuery('#siteorigin-panels-add-layout-block-button').html();
366
- var $addButton = jQuery(tmpl).insertAfter('.editor-writing-flow > div:first, .block-editor-writing-flow > div:not([tabindex])');
 
 
 
 
 
 
 
 
 
367
  $addButton.on('click', function () {
368
  var layoutBlock = wp.blocks.createBlock('siteorigin-panels/layout-block', {});
369
  var isEmpty = editorSelect.isEditedPostEmpty();
244
  };
245
 
246
  if (this.state.editing) {
247
+ return React.createElement(wp.element.Fragment, null, panelsData ? React.createElement(wp.blockEditor.BlockControls, null, React.createElement(wp.components.Toolbar, {
248
  label: wp.i18n.__('Page Builder Mode.', 'siteorigin-panels')
249
  }, React.createElement(wp.components.ToolbarButton, {
250
  icon: "visibility",
251
  className: "components-icon-button components-toolbar__control",
252
  label: wp.i18n.__('Preview layout.', 'siteorigin-panels'),
253
  onClick: switchToPreview
254
+ }))) : null, React.createElement("div", {
255
  key: "layout-block",
256
  className: "siteorigin-panels-layout-block-container",
257
  ref: this.panelsContainer
332
  setAttributes(panelsAttributes);
333
  wp.data.dispatch('core/editor').unlockPostSaving();
334
  });
335
+ } else {
336
+ setAttributes({
337
+ panelsData: null,
338
+ contentPreview: null
339
+ });
340
  }
341
  };
342
 
368
  var editorDispatch = wp.data.dispatch('core/editor');
369
  var editorSelect = wp.data.select('core/editor');
370
  var tmpl = jQuery('#siteorigin-panels-add-layout-block-button').html();
371
+
372
+ if (jQuery('.block-editor-writing-flow > .block-editor-block-list__layout').length) {
373
+ // > WP 5.7
374
+ var buttonSelector = '.block-editor-writing-flow > .block-editor-block-list__layout';
375
+ } else {
376
+ // < WP 5.7
377
+ var buttonSelector = '.editor-writing-flow > div:first, .block-editor-writing-flow > div:not([tabindex])';
378
+ }
379
+
380
+ var $addButton = jQuery(tmpl).appendTo(buttonSelector);
381
  $addButton.on('click', function () {
382
  var layoutBlock = wp.blocks.createBlock('siteorigin-panels/layout-block', {});
383
  var isEmpty = editorSelect.isEditedPostEmpty();
compat/js/siteorigin-panels-layout-block.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function _createClass(e,t,n){return t&&_defineProperties(e.prototype,t),n&&_defineProperties(e,n),e}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&_setPrototypeOf(e,t)}function _setPrototypeOf(e,t){return(_setPrototypeOf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function _createSuper(e){function t(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}return function(){var n,i=_getPrototypeOf(e);if(t()){var o=_getPrototypeOf(this).constructor;n=Reflect.construct(i,arguments,o)}else n=i.apply(this,arguments);return _possibleConstructorReturn(this,n)}}function _possibleConstructorReturn(e,t){return!t||"object"!==_typeof(t)&&"function"!=typeof t?_assertThisInitialized(e):t}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _getPrototypeOf(e){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var SiteOriginPanelsLayoutBlock=function(e){_inherits(n,wp.element.Component);var t=_createSuper(n);function n(e){var i;_classCallCheck(this,n),i=t.call(this,e);var o="edit"===window.soPanelsBlockEditorAdmin.defaultMode||lodash.isEmpty(e.panelsData);return i.state={editing:o,loadingPreview:!o,previewHtml:"",previewInitialized:!o},i.panelsContainer=wp.element.createRef(),i.previewContainer=wp.element.createRef(),i.panelsInitialized=!1,i}return _createClass(n,[{key:"componentDidMount",value:function(){this.isStillMounted=!0,this.state.editing?this.setupPanels():this.state.editing||this.previewInitialized||(this.fetchPreview(this.props),this.fetchPreview=lodash.debounce(this.fetchPreview,500))}},{key:"componentWillUnmount",value:function(){this.isStillMounted=!1,this.builderView&&this.builderView.off("content_change")}},{key:"componentDidUpdate",value:function(e){this.state.editing&&!this.panelsInitialized?this.setupPanels():this.state.loadingPreview?(this.fetchPreview(this.props),this.fetchPreview=lodash.debounce(this.fetchPreview,500)):this.state.previewInitialized||(jQuery(document).trigger("panels_setup_preview"),this.setState({previewInitialized:!0}))}},{key:"setupPanels",value:function(){var e=this,t=jQuery(this.panelsContainer.current),n={editorType:"standalone",loadLiveEditor:!1,postId:window.soPanelsBlockEditorAdmin.postId,liveEditorPreview:window.soPanelsBlockEditorAdmin.liveEditor},i=new panels.model.builder;this.builderView=new panels.view.builder({model:i,config:n});var o=JSON.parse(JSON.stringify(jQuery.extend({},this.props.panelsData))),r=function(){lodash.isFunction(e.props.onRowOrWidgetMouseDown)&&e.props.onRowOrWidgetMouseDown();jQuery(document).on("mouseup",(function t(){jQuery(document).off("mouseup",t),lodash.isFunction(e.props.onRowOrWidgetMouseUp)&&e.props.onRowOrWidgetMouseUp()}))};this.builderView.on("row_added",(function(){e.builderView.$(".so-row-move").off("mousedown",r),e.builderView.$(".so-row-move").on("mousedown",r),e.builderView.$(".so-widget").off("mousedown",r),e.builderView.$(".so-widget").on("mousedown",r)})),this.builderView.on("widget_added",(function(){e.builderView.$(".so-widget").off("mousedown",r),e.builderView.$(".so-widget").on("mousedown",r)})),this.builderView.render().attach({container:t}).setData(o),this.builderView.trigger("builder_resize"),this.builderView.on("content_change",(function(){var t=e.builderView.getData();e.panelsDataChanged=!lodash.isEqual(o,t),e.panelsDataChanged&&(e.props.onContentChange&&lodash.isFunction(e.props.onContentChange)&&e.props.onContentChange(t),e.setState({loadingPreview:!0,previewHtml:""}))})),jQuery(document).trigger("panels_setup",this.builderView),void 0===window.soPanelsBuilderView&&(window.soPanelsBuilderView=[]),window.soPanelsBuilderView.push(this.builderView),this.panelsInitialized=!0}},{key:"fetchPreview",value:function(e){var t=this;if(this.isStillMounted){this.setState({previewInitialized:!1});var n=this.currentFetchRequest=jQuery.post({url:window.soPanelsBlockEditorAdmin.previewUrl,data:{action:"so_panels_layout_block_preview",panelsData:JSON.stringify(e.panelsData)}}).then((function(e){t.isStillMounted&&n===t.currentFetchRequest&&e&&t.setState({previewHtml:e,loadingPreview:!1,previewInitialized:!1})}));return n}}},{key:"render",value:function(){var e=this,t=this.props.panelsData;if(this.state.editing)return React.createElement(wp.element.Fragment,null,React.createElement(wp.blockEditor.BlockControls,null,React.createElement(wp.components.Toolbar,{label:wp.i18n.__("Page Builder Mode.","siteorigin-panels")},React.createElement(wp.components.ToolbarButton,{icon:"visibility",className:"components-icon-button components-toolbar__control",label:wp.i18n.__("Preview layout.","siteorigin-panels"),onClick:function(){t&&e.setState({editing:!1,loadingPreview:!e.state.previewHtml,previewInitialized:!1})}}))),React.createElement("div",{key:"layout-block",className:"siteorigin-panels-layout-block-container",ref:this.panelsContainer}));var n=this.state.loadingPreview;return React.createElement(wp.element.Fragment,null,React.createElement(wp.blockEditor.BlockControls,null,React.createElement(wp.components.Toolbar,{label:wp.i18n.__("Page Builder Mode.","siteorigin-panels")},React.createElement(wp.components.ToolbarButton,{icon:"edit",className:"components-icon-button components-toolbar__control",label:wp.i18n.__("Edit layout.","siteorigin-panels"),onClick:function(){e.panelsInitialized=!1,e.setState({editing:!0})}}))),React.createElement("div",{key:"preview",className:"so-panels-block-layout-preview-container"},n?React.createElement("div",{className:"so-panels-spinner-container"},React.createElement("span",null,React.createElement(wp.components.Spinner,null))):React.createElement("div",{className:"so-panels-raw-html-container",ref:this.previewContainer},React.createElement(wp.element.RawHTML,null,this.state.previewHtml))))}}]),n}(),hasLayoutCategory=wp.blocks.getCategories().some((function(e){return"layout"===e.slug}));wp.blocks.registerBlockType("siteorigin-panels/layout-block",{title:wp.i18n.__("SiteOrigin Layout","siteorigin-panels"),description:wp.i18n.__("Build a layout using SiteOrigin's Page Builder.","siteorigin-panels"),icon:function(){return React.createElement("span",{className:"siteorigin-panels-block-icon"})},category:hasLayoutCategory?"layout":"design",keywords:["page builder","column,grid","panel"],supports:{html:!1},attributes:{panelsData:{type:"object"},contentPreview:{type:"string"}},edit:function(e){var t=e.attributes,n=e.setAttributes,i=e.toggleSelection;return React.createElement(SiteOriginPanelsLayoutBlock,{panelsData:t.panelsData,onContentChange:function(e){lodash.isEmpty(e.widgets)||(wp.data.dispatch("core/editor").lockPostSaving(),jQuery.post(panelsOptions.ajaxurl,{action:"so_panels_builder_content_json",panels_data:JSON.stringify(e),post_id:wp.data.select("core/editor").getCurrentPostId()},(function(e){var t={};""!==e.sanitized_panels_data&&(t.panelsData=e.sanitized_panels_data),""!==e.preview&&(t.contentPreview=e.preview),n(t),wp.data.dispatch("core/editor").unlockPostSaving()})))},onRowOrWidgetMouseDown:function(){i(!1)},onRowOrWidgetMouseUp:function(){i(!0)}})},save:function(e){var t=e.attributes;return t.hasOwnProperty("contentPreview")?React.createElement(wp.element.RawHTML,null,t.contentPreview):null}}),function(e){window.soPanelsBlockEditorAdmin.showAddButton&&e((function(){setTimeout((function(){var t=wp.data.dispatch("core/editor"),n=wp.data.select("core/editor"),i=e("#siteorigin-panels-add-layout-block-button").html(),o=e(i).insertAfter(".editor-writing-flow > div:first, .block-editor-writing-flow > div:not([tabindex])");o.on("click",(function(){var e=wp.blocks.createBlock("siteorigin-panels/layout-block",{});if(n.isEditedPostEmpty()){var i=n.getBlocks();i.length?t.replaceBlock(i[0].clientId,e):t.insertBlock(e)}else t.insertBlock(e)}));var r=function(){wp.data.select("core/editor").isEditedPostEmpty()?o.show():o.hide()};wp.data.subscribe(r),r()}),100)}))}(jQuery),jQuery(document).on("click",".block-editor-post-preview__button-resize",(function(e){jQuery(this).hasClass("has-icon")||jQuery(window).trigger("resize")}));
1
+ "use strict";function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function _createClass(e,t,n){return t&&_defineProperties(e.prototype,t),n&&_defineProperties(e,n),e}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&_setPrototypeOf(e,t)}function _setPrototypeOf(e,t){return(_setPrototypeOf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function _createSuper(e){function t(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}return function(){var n,i=_getPrototypeOf(e);if(t()){var o=_getPrototypeOf(this).constructor;n=Reflect.construct(i,arguments,o)}else n=i.apply(this,arguments);return _possibleConstructorReturn(this,n)}}function _possibleConstructorReturn(e,t){return!t||"object"!==_typeof(t)&&"function"!=typeof t?_assertThisInitialized(e):t}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _getPrototypeOf(e){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var SiteOriginPanelsLayoutBlock=function(e){_inherits(n,wp.element.Component);var t=_createSuper(n);function n(e){var i;_classCallCheck(this,n),i=t.call(this,e);var o="edit"===window.soPanelsBlockEditorAdmin.defaultMode||lodash.isEmpty(e.panelsData);return i.state={editing:o,loadingPreview:!o,previewHtml:"",previewInitialized:!o},i.panelsContainer=wp.element.createRef(),i.previewContainer=wp.element.createRef(),i.panelsInitialized=!1,i}return _createClass(n,[{key:"componentDidMount",value:function(){this.isStillMounted=!0,this.state.editing?this.setupPanels():this.state.editing||this.previewInitialized||(this.fetchPreview(this.props),this.fetchPreview=lodash.debounce(this.fetchPreview,500))}},{key:"componentWillUnmount",value:function(){this.isStillMounted=!1,this.builderView&&this.builderView.off("content_change")}},{key:"componentDidUpdate",value:function(e){this.state.editing&&!this.panelsInitialized?this.setupPanels():this.state.loadingPreview?(this.fetchPreview(this.props),this.fetchPreview=lodash.debounce(this.fetchPreview,500)):this.state.previewInitialized||(jQuery(document).trigger("panels_setup_preview"),this.setState({previewInitialized:!0}))}},{key:"setupPanels",value:function(){var e=this,t=jQuery(this.panelsContainer.current),n={editorType:"standalone",loadLiveEditor:!1,postId:window.soPanelsBlockEditorAdmin.postId,liveEditorPreview:window.soPanelsBlockEditorAdmin.liveEditor},i=new panels.model.builder;this.builderView=new panels.view.builder({model:i,config:n});var o=JSON.parse(JSON.stringify(jQuery.extend({},this.props.panelsData))),r=function(){lodash.isFunction(e.props.onRowOrWidgetMouseDown)&&e.props.onRowOrWidgetMouseDown();jQuery(document).on("mouseup",(function t(){jQuery(document).off("mouseup",t),lodash.isFunction(e.props.onRowOrWidgetMouseUp)&&e.props.onRowOrWidgetMouseUp()}))};this.builderView.on("row_added",(function(){e.builderView.$(".so-row-move").off("mousedown",r),e.builderView.$(".so-row-move").on("mousedown",r),e.builderView.$(".so-widget").off("mousedown",r),e.builderView.$(".so-widget").on("mousedown",r)})),this.builderView.on("widget_added",(function(){e.builderView.$(".so-widget").off("mousedown",r),e.builderView.$(".so-widget").on("mousedown",r)})),this.builderView.render().attach({container:t}).setData(o),this.builderView.trigger("builder_resize"),this.builderView.on("content_change",(function(){var t=e.builderView.getData();e.panelsDataChanged=!lodash.isEqual(o,t),e.panelsDataChanged&&(e.props.onContentChange&&lodash.isFunction(e.props.onContentChange)&&e.props.onContentChange(t),e.setState({loadingPreview:!0,previewHtml:""}))})),jQuery(document).trigger("panels_setup",this.builderView),void 0===window.soPanelsBuilderView&&(window.soPanelsBuilderView=[]),window.soPanelsBuilderView.push(this.builderView),this.panelsInitialized=!0}},{key:"fetchPreview",value:function(e){var t=this;if(this.isStillMounted){this.setState({previewInitialized:!1});var n=this.currentFetchRequest=jQuery.post({url:window.soPanelsBlockEditorAdmin.previewUrl,data:{action:"so_panels_layout_block_preview",panelsData:JSON.stringify(e.panelsData)}}).then((function(e){t.isStillMounted&&n===t.currentFetchRequest&&e&&t.setState({previewHtml:e,loadingPreview:!1,previewInitialized:!1})}));return n}}},{key:"render",value:function(){var e=this,t=this.props.panelsData;if(this.state.editing)return React.createElement(wp.element.Fragment,null,t?React.createElement(wp.blockEditor.BlockControls,null,React.createElement(wp.components.Toolbar,{label:wp.i18n.__("Page Builder Mode.","siteorigin-panels")},React.createElement(wp.components.ToolbarButton,{icon:"visibility",className:"components-icon-button components-toolbar__control",label:wp.i18n.__("Preview layout.","siteorigin-panels"),onClick:function(){t&&e.setState({editing:!1,loadingPreview:!e.state.previewHtml,previewInitialized:!1})}}))):null,React.createElement("div",{key:"layout-block",className:"siteorigin-panels-layout-block-container",ref:this.panelsContainer}));var n=this.state.loadingPreview;return React.createElement(wp.element.Fragment,null,React.createElement(wp.blockEditor.BlockControls,null,React.createElement(wp.components.Toolbar,{label:wp.i18n.__("Page Builder Mode.","siteorigin-panels")},React.createElement(wp.components.ToolbarButton,{icon:"edit",className:"components-icon-button components-toolbar__control",label:wp.i18n.__("Edit layout.","siteorigin-panels"),onClick:function(){e.panelsInitialized=!1,e.setState({editing:!0})}}))),React.createElement("div",{key:"preview",className:"so-panels-block-layout-preview-container"},n?React.createElement("div",{className:"so-panels-spinner-container"},React.createElement("span",null,React.createElement(wp.components.Spinner,null))):React.createElement("div",{className:"so-panels-raw-html-container",ref:this.previewContainer},React.createElement(wp.element.RawHTML,null,this.state.previewHtml))))}}]),n}(),hasLayoutCategory=wp.blocks.getCategories().some((function(e){return"layout"===e.slug}));wp.blocks.registerBlockType("siteorigin-panels/layout-block",{title:wp.i18n.__("SiteOrigin Layout","siteorigin-panels"),description:wp.i18n.__("Build a layout using SiteOrigin's Page Builder.","siteorigin-panels"),icon:function(){return React.createElement("span",{className:"siteorigin-panels-block-icon"})},category:hasLayoutCategory?"layout":"design",keywords:["page builder","column,grid","panel"],supports:{html:!1},attributes:{panelsData:{type:"object"},contentPreview:{type:"string"}},edit:function(e){var t=e.attributes,n=e.setAttributes,i=e.toggleSelection;return React.createElement(SiteOriginPanelsLayoutBlock,{panelsData:t.panelsData,onContentChange:function(e){lodash.isEmpty(e.widgets)?n({panelsData:null,contentPreview:null}):(wp.data.dispatch("core/editor").lockPostSaving(),jQuery.post(panelsOptions.ajaxurl,{action:"so_panels_builder_content_json",panels_data:JSON.stringify(e),post_id:wp.data.select("core/editor").getCurrentPostId()},(function(e){var t={};""!==e.sanitized_panels_data&&(t.panelsData=e.sanitized_panels_data),""!==e.preview&&(t.contentPreview=e.preview),n(t),wp.data.dispatch("core/editor").unlockPostSaving()})))},onRowOrWidgetMouseDown:function(){i(!1)},onRowOrWidgetMouseUp:function(){i(!0)}})},save:function(e){var t=e.attributes;return t.hasOwnProperty("contentPreview")?React.createElement(wp.element.RawHTML,null,t.contentPreview):null}}),function(e){window.soPanelsBlockEditorAdmin.showAddButton&&e((function(){setTimeout((function(){var t=wp.data.dispatch("core/editor"),n=wp.data.select("core/editor"),i=e("#siteorigin-panels-add-layout-block-button").html();if(e(".block-editor-writing-flow > .block-editor-block-list__layout").length)var o=".block-editor-writing-flow > .block-editor-block-list__layout";else o=".editor-writing-flow > div:first, .block-editor-writing-flow > div:not([tabindex])";var r=e(i).appendTo(o);r.on("click",(function(){var e=wp.blocks.createBlock("siteorigin-panels/layout-block",{});if(n.isEditedPostEmpty()){var i=n.getBlocks();i.length?t.replaceBlock(i[0].clientId,e):t.insertBlock(e)}else t.insertBlock(e)}));var a=function(){wp.data.select("core/editor").isEditedPostEmpty()?r.show():r.hide()};wp.data.subscribe(a),a()}),100)}))}(jQuery),jQuery(document).on("click",".block-editor-post-preview__button-resize",(function(e){jQuery(this).hasClass("has-icon")||jQuery(window).trigger("resize")}));
compat/lazy-load-backgrounds.php ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Apply background and Lazy Load attributes/classes to rows, cells and widgets.
4
+ *
5
+ * @param $attributes
6
+ * @param $style
7
+ *
8
+ * @return array $attributes
9
+ */
10
+
11
+ function siteorigin_apply_lazy_load_attributes( $attributes, $style ) {
12
+ if (
13
+ ! empty( $style['background_display'] ) &&
14
+ ! empty( $style['background_image_attachment'] ) &&
15
+ $style['background_display'] != 'parallax' &&
16
+ $style['background_display'] != 'parallax-original'
17
+ ) {
18
+ $url = SiteOrigin_Panels_Styles::get_attachment_image_src( $style['background_image_attachment'], 'full' );
19
+
20
+ if ( ! empty( $url ) ) {
21
+ $attributes['class'][] = 'lazy';
22
+ $attributes['data-bg'] = $url[0];
23
+
24
+ // WP Rocket uses a different lazy load class.
25
+ if ( defined( 'ROCKET_LL_VERSION' ) ) {
26
+ $attributes['class'][] = 'rocket-lazyload';
27
+ }
28
+
29
+ // Other lazy loads can sometimes use an inline background image.
30
+ if ( apply_filters( 'siteorigin_lazy_load_inline_background', false ) ) {
31
+ $attributes['style'] = 'background-image: url(' . $url[0] . ')';
32
+ }
33
+ }
34
+ }
35
+
36
+ return $attributes;
37
+ }
38
+ add_filter( 'siteorigin_panels_row_style_attributes', 'siteorigin_apply_lazy_load_attributes', 10, 2 );
39
+ add_filter( 'siteorigin_panels_cell_style_attributes', 'siteorigin_apply_lazy_load_attributes', 10, 2 );
40
+ add_filter( 'siteorigin_panels_widget_style_attributes', 'siteorigin_apply_lazy_load_attributes', 10, 2 );
41
+
42
+ /**
43
+ * Prevent background image from being added using CSS.
44
+ *
45
+ * @param $css
46
+ * @param $style
47
+ *
48
+ * @return mixed
49
+ */
50
+ function siteorigin_prevent_background_css( $css, $style ) {
51
+ if (
52
+ ! empty( $css['background-image'] ) &&
53
+ $style['background_display'] != 'parallax' &&
54
+ $style['background_display'] != 'parallax-original'
55
+ ) {
56
+ unset( $css['background-image'] );
57
+ }
58
+
59
+ return $css;
60
+ }
61
+ add_filter( 'siteorigin_panels_row_style_css', 'siteorigin_prevent_background_css', 10, 2 );
62
+ add_filter( 'siteorigin_panels_cell_style_css', 'siteorigin_prevent_background_css', 10, 2 );
63
+ add_filter( 'siteorigin_panels_widget_style_css', 'siteorigin_prevent_background_css', 10, 2 );
css/admin.css CHANGED
@@ -57,9 +57,11 @@
57
  min-width: 10px;
58
  text-align: center;
59
  }
 
60
  .siteorigin-panels-builder .so-tool-button:hover {
61
  background: #FFFFFF;
62
  }
 
63
  .siteorigin-panels-builder .so-tool-button:hover span {
64
  color: #444444;
65
  }
@@ -441,6 +443,7 @@
441
  .siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget.so-widget-no-move {
442
  cursor: auto;
443
  }
 
444
  .siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget:hover {
445
  border: 1px solid rgba(255, 255, 255, 0.55);
446
  background: #fff;
@@ -448,6 +451,10 @@
448
  -moz-box-shadow: 0 0 2px rgba(0,0,0,0.1);
449
  box-shadow: 0 0 2px rgba(0,0,0,0.1);
450
  }
 
 
 
 
451
  .siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget .so-widget-wrapper {
452
  padding: 7px 8px;
453
  overflow: hidden;
@@ -678,6 +685,7 @@
678
  .so-widget.ui-sortable-helper.widget-being-dragged.so-widget-no-move {
679
  cursor: auto;
680
  }
 
681
  .so-widget.ui-sortable-helper.widget-being-dragged:hover {
682
  border: 1px solid rgba(255, 255, 255, 0.55);
683
  background: #fff;
@@ -685,6 +693,10 @@
685
  -moz-box-shadow: 0 0 2px rgba(0,0,0,0.1);
686
  box-shadow: 0 0 2px rgba(0,0,0,0.1);
687
  }
 
 
 
 
688
  .so-widget.ui-sortable-helper.widget-being-dragged .so-widget-wrapper {
689
  padding: 7px 8px;
690
  overflow: hidden;
@@ -1002,10 +1014,14 @@
1002
  border-bottom: 1px solid #d8d8d8;
1003
  /* Disabled nav */
1004
  }
 
 
1005
  .so-panels-dialog .so-title-bar a:hover,
1006
  .block-editor .so-title-bar a:hover {
1007
  background: #e9e9e9;
1008
  }
 
 
1009
  .so-panels-dialog .so-title-bar a:hover .so-dialog-icon,
1010
  .block-editor .so-title-bar a:hover .so-dialog-icon {
1011
  color: #333333;
@@ -1163,11 +1179,15 @@
1163
  .block-editor .so-toolbar .so-buttons .action-buttons .so-delete {
1164
  color: #a00;
1165
  }
 
 
1166
  .so-panels-dialog .so-toolbar .so-buttons .action-buttons .so-delete:hover,
1167
  .block-editor .so-toolbar .so-buttons .action-buttons .so-delete:hover {
1168
  background: #a00;
1169
  color: #FFFFFF;
1170
  }
 
 
1171
  .so-panels-dialog .so-toolbar .so-buttons .action-buttons .so-duplicate:hover,
1172
  .block-editor .so-toolbar .so-buttons .action-buttons .so-duplicate:hover {
1173
  text-decoration: underline;
@@ -1346,6 +1366,8 @@
1346
  box-shadow: 0 1px 2px rgba(0,0,0,0.075), inset 0 1px 0 #FFFFFF;
1347
  margin-bottom: 15px;
1348
  }
 
 
1349
  .so-panels-dialog.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget:hover,
1350
  .block-editor.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget:hover {
1351
  border: 1px solid #BBBBBB;
@@ -1475,7 +1497,9 @@
1475
  box-shadow: 0 1px 2px rgba(0,0,0,0.075);
1476
  }
1477
  .so-panels-dialog.so-panels-dialog-add-widget .widget-type-list .widget-type-wrapper:hover,
1478
- .block-editor.so-panels-dialog-add-widget .widget-type-list .widget-type-wrapper:hover {
 
 
1479
  border: 1px solid #BBBBBB;
1480
  background: #FFFFFF;
1481
  -webkit-box-shadow: 0 2px 2px rgba(0,0,0,0.075);
@@ -1650,7 +1674,9 @@
1650
  line-height: 1em;
1651
  }
1652
  .so-panels-dialog.so-panels-dialog-history .history-entries .history-entry:hover,
1653
- .block-editor.so-panels-dialog-history .history-entries .history-entry:hover {
 
 
1654
  background: #F0F0F0;
1655
  }
1656
  .so-panels-dialog.so-panels-dialog-history .history-entries .history-entry.so-selected,
@@ -1791,6 +1817,14 @@
1791
  -moz-box-shadow: 0 1px 1px rgba(0,0,0,0.1);
1792
  box-shadow: 0 1px 1px rgba(0,0,0,0.1);
1793
  }
 
 
 
 
 
 
 
 
1794
  .so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-title,
1795
  .block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-title {
1796
  font-size: 15px;
@@ -1798,7 +1832,6 @@
1798
  }
1799
  .so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-screenshot,
1800
  .block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-screenshot {
1801
- flex: 3 auto;
1802
  margin-bottom: 10px;
1803
  cursor: pointer;
1804
  }
@@ -1830,7 +1863,6 @@
1830
  }
1831
  .so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-description,
1832
  .block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-description {
1833
- flex: 1 auto;
1834
  font-size: 0.9em;
1835
  color: #666;
1836
  margin-bottom: 10px;
@@ -1841,7 +1873,6 @@
1841
  .block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-bottom {
1842
  flex: 1 auto;
1843
  position: relative;
1844
- max-height: 50px;
1845
  margin: 10px -10px -15px -10px;
1846
  background: #fcfcfc;
1847
  border-top: 1px solid #d0d0d0;
@@ -1851,8 +1882,6 @@
1851
  margin: 0;
1852
  padding: 16px 10px;
1853
  cursor: pointer;
1854
- overflow: hidden;
1855
- white-space: nowrap;
1856
  }
1857
  .so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-bottom .so-buttons,
1858
  .block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-bottom .so-buttons {
@@ -1875,7 +1904,9 @@
1875
  box-shadow: -1px 0 1px rgba(0, 0, 0, 0.05);
1876
  }
1877
  .so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item:hover .so-buttons,
1878
- .block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item:hover .so-buttons {
 
 
1879
  visibility: visible;
1880
  }
1881
  .so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item.selected,
@@ -1962,6 +1993,10 @@
1962
  -ms-user-select: none;
1963
  user-select: none;
1964
  }
 
 
 
 
1965
  .so-panels-dialog .so-visual-styles .style-section-head h4,
1966
  .block-editor .so-visual-styles .style-section-head h4 {
1967
  margin: 0;
@@ -2093,6 +2128,11 @@
2093
  -moz-box-shadow: inset 0 1px #FFFFFF;
2094
  box-shadow: inset 0 1px #FFFFFF;
2095
  }
 
 
 
 
 
2096
  .so-panels-dialog .so-visual-styles .style-field-image .so-image-selector .current-image,
2097
  .block-editor .so-visual-styles .style-field-image .so-image-selector .current-image {
2098
  height: 28px;
@@ -2235,7 +2275,6 @@
2235
  }
2236
  .so-panels-dialog .siteorigin-panels-add-layout-block > button,
2237
  .block-editor .siteorigin-panels-add-layout-block > button {
2238
- height: 100%;
2239
  padding: 5px 10px;
2240
  font-size: 16px;
2241
  }
@@ -2350,6 +2389,7 @@
2350
  cursor: pointer;
2351
  color: #999;
2352
  }
 
2353
  .so-panels-live-editor .so-sidebar-tools .live-editor-mode .dashicons:hover {
2354
  color: #666;
2355
  }
@@ -2661,6 +2701,7 @@
2661
  padding: 3px 10px;
2662
  line-height: 1.3em;
2663
  }
 
2664
  .so-panels-contextual-menu .so-section ul li:hover,
2665
  .so-panels-contextual-menu .so-section ul li.so-active {
2666
  background: #F0F0F0;
@@ -2725,7 +2766,8 @@
2725
  -moz-box-shadow: none;
2726
  box-shadow: none;
2727
  }
2728
- .so-dropdown-wrapper .so-dropdown-links-wrapper ul li a:hover {
 
2729
  background: #F0F0F0;
2730
  color: #444;
2731
  }
57
  min-width: 10px;
58
  text-align: center;
59
  }
60
+ .siteorigin-panels-builder .so-tool-button:focus,
61
  .siteorigin-panels-builder .so-tool-button:hover {
62
  background: #FFFFFF;
63
  }
64
+ .siteorigin-panels-builder .so-tool-button:focus span,
65
  .siteorigin-panels-builder .so-tool-button:hover span {
66
  color: #444444;
67
  }
443
  .siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget.so-widget-no-move {
444
  cursor: auto;
445
  }
446
+ .siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget:focus,
447
  .siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget:hover {
448
  border: 1px solid rgba(255, 255, 255, 0.55);
449
  background: #fff;
451
  -moz-box-shadow: 0 0 2px rgba(0,0,0,0.1);
452
  box-shadow: 0 0 2px rgba(0,0,0,0.1);
453
  }
454
+ .siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget:focus .title .actions a,
455
+ .siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget:focus-within .title .actions a {
456
+ display: inline-block;
457
+ }
458
  .siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget .so-widget-wrapper {
459
  padding: 7px 8px;
460
  overflow: hidden;
685
  .so-widget.ui-sortable-helper.widget-being-dragged.so-widget-no-move {
686
  cursor: auto;
687
  }
688
+ .so-widget.ui-sortable-helper.widget-being-dragged:focus,
689
  .so-widget.ui-sortable-helper.widget-being-dragged:hover {
690
  border: 1px solid rgba(255, 255, 255, 0.55);
691
  background: #fff;
693
  -moz-box-shadow: 0 0 2px rgba(0,0,0,0.1);
694
  box-shadow: 0 0 2px rgba(0,0,0,0.1);
695
  }
696
+ .so-widget.ui-sortable-helper.widget-being-dragged:focus .title .actions a,
697
+ .so-widget.ui-sortable-helper.widget-being-dragged:focus-within .title .actions a {
698
+ display: inline-block;
699
+ }
700
  .so-widget.ui-sortable-helper.widget-being-dragged .so-widget-wrapper {
701
  padding: 7px 8px;
702
  overflow: hidden;
1014
  border-bottom: 1px solid #d8d8d8;
1015
  /* Disabled nav */
1016
  }
1017
+ .so-panels-dialog .so-title-bar a:focus,
1018
+ .block-editor .so-title-bar a:focus,
1019
  .so-panels-dialog .so-title-bar a:hover,
1020
  .block-editor .so-title-bar a:hover {
1021
  background: #e9e9e9;
1022
  }
1023
+ .so-panels-dialog .so-title-bar a:focus .so-dialog-icon,
1024
+ .block-editor .so-title-bar a:focus .so-dialog-icon,
1025
  .so-panels-dialog .so-title-bar a:hover .so-dialog-icon,
1026
  .block-editor .so-title-bar a:hover .so-dialog-icon {
1027
  color: #333333;
1179
  .block-editor .so-toolbar .so-buttons .action-buttons .so-delete {
1180
  color: #a00;
1181
  }
1182
+ .so-panels-dialog .so-toolbar .so-buttons .action-buttons .so-delete:focus,
1183
+ .block-editor .so-toolbar .so-buttons .action-buttons .so-delete:focus,
1184
  .so-panels-dialog .so-toolbar .so-buttons .action-buttons .so-delete:hover,
1185
  .block-editor .so-toolbar .so-buttons .action-buttons .so-delete:hover {
1186
  background: #a00;
1187
  color: #FFFFFF;
1188
  }
1189
+ .so-panels-dialog .so-toolbar .so-buttons .action-buttons .so-duplicate:focus,
1190
+ .block-editor .so-toolbar .so-buttons .action-buttons .so-duplicate:focus,
1191
  .so-panels-dialog .so-toolbar .so-buttons .action-buttons .so-duplicate:hover,
1192
  .block-editor .so-toolbar .so-buttons .action-buttons .so-duplicate:hover {
1193
  text-decoration: underline;
1366
  box-shadow: 0 1px 2px rgba(0,0,0,0.075), inset 0 1px 0 #FFFFFF;
1367
  margin-bottom: 15px;
1368
  }
1369
+ .so-panels-dialog.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget:focus,
1370
+ .block-editor.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget:focus,
1371
  .so-panels-dialog.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget:hover,
1372
  .block-editor.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget:hover {
1373
  border: 1px solid #BBBBBB;
1497
  box-shadow: 0 1px 2px rgba(0,0,0,0.075);
1498
  }
1499
  .so-panels-dialog.so-panels-dialog-add-widget .widget-type-list .widget-type-wrapper:hover,
1500
+ .block-editor.so-panels-dialog-add-widget .widget-type-list .widget-type-wrapper:hover,
1501
+ .so-panels-dialog.so-panels-dialog-add-widget .widget-type-list .widget-type-wrapper:focus,
1502
+ .block-editor.so-panels-dialog-add-widget .widget-type-list .widget-type-wrapper:focus {
1503
  border: 1px solid #BBBBBB;
1504
  background: #FFFFFF;
1505
  -webkit-box-shadow: 0 2px 2px rgba(0,0,0,0.075);
1674
  line-height: 1em;
1675
  }
1676
  .so-panels-dialog.so-panels-dialog-history .history-entries .history-entry:hover,
1677
+ .block-editor.so-panels-dialog-history .history-entries .history-entry:hover,
1678
+ .so-panels-dialog.so-panels-dialog-history .history-entries .history-entry:focus,
1679
+ .block-editor.so-panels-dialog-history .history-entries .history-entry:focus {
1680
  background: #F0F0F0;
1681
  }
1682
  .so-panels-dialog.so-panels-dialog-history .history-entries .history-entry.so-selected,
1817
  -moz-box-shadow: 0 1px 1px rgba(0,0,0,0.1);
1818
  box-shadow: 0 1px 1px rgba(0,0,0,0.1);
1819
  }
1820
+ .so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-directory-item-wrapper:hover,
1821
+ .block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-directory-item-wrapper:hover,
1822
+ .so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-directory-item-wrapper:focus,
1823
+ .block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-directory-item-wrapper:focus {
1824
+ border: 1px solid #BBBBBB;
1825
+ background: #FFFFFF;
1826
+ box-shadow: 0 2px 2px rgba(0, 0, 0, 0.075);
1827
+ }
1828
  .so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-title,
1829
  .block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-title {
1830
  font-size: 15px;
1832
  }
1833
  .so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-screenshot,
1834
  .block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-screenshot {
 
1835
  margin-bottom: 10px;
1836
  cursor: pointer;
1837
  }
1863
  }
1864
  .so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-description,
1865
  .block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-description {
 
1866
  font-size: 0.9em;
1867
  color: #666;
1868
  margin-bottom: 10px;
1873
  .block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-bottom {
1874
  flex: 1 auto;
1875
  position: relative;
 
1876
  margin: 10px -10px -15px -10px;
1877
  background: #fcfcfc;
1878
  border-top: 1px solid #d0d0d0;
1882
  margin: 0;
1883
  padding: 16px 10px;
1884
  cursor: pointer;
 
 
1885
  }
1886
  .so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-bottom .so-buttons,
1887
  .block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-bottom .so-buttons {
1904
  box-shadow: -1px 0 1px rgba(0, 0, 0, 0.05);
1905
  }
1906
  .so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item:hover .so-buttons,
1907
+ .block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item:hover .so-buttons,
1908
+ .so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item:focus .so-buttons,
1909
+ .block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item:focus .so-buttons {
1910
  visibility: visible;
1911
  }
1912
  .so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item.selected,
1993
  -ms-user-select: none;
1994
  user-select: none;
1995
  }
1996
+ .so-panels-dialog .so-visual-styles .style-section-head:focus,
1997
+ .block-editor .so-visual-styles .style-section-head:focus {
1998
+ background: #eee;
1999
+ }
2000
  .so-panels-dialog .so-visual-styles .style-section-head h4,
2001
  .block-editor .so-visual-styles .style-section-head h4 {
2002
  margin: 0;
2128
  -moz-box-shadow: inset 0 1px #FFFFFF;
2129
  box-shadow: inset 0 1px #FFFFFF;
2130
  }
2131
+ .so-panels-dialog .so-visual-styles .style-field-image .so-image-selector:focus,
2132
+ .block-editor .so-visual-styles .style-field-image .so-image-selector:focus {
2133
+ border: 1px solid #007cba;
2134
+ box-shadow: 0 0 0 1px #007cba;
2135
+ }
2136
  .so-panels-dialog .so-visual-styles .style-field-image .so-image-selector .current-image,
2137
  .block-editor .so-visual-styles .style-field-image .so-image-selector .current-image {
2138
  height: 28px;
2275
  }
2276
  .so-panels-dialog .siteorigin-panels-add-layout-block > button,
2277
  .block-editor .siteorigin-panels-add-layout-block > button {
 
2278
  padding: 5px 10px;
2279
  font-size: 16px;
2280
  }
2389
  cursor: pointer;
2390
  color: #999;
2391
  }
2392
+ .so-panels-live-editor .so-sidebar-tools .live-editor-mode .dashicons:focus,
2393
  .so-panels-live-editor .so-sidebar-tools .live-editor-mode .dashicons:hover {
2394
  color: #666;
2395
  }
2701
  padding: 3px 10px;
2702
  line-height: 1.3em;
2703
  }
2704
+ .so-panels-contextual-menu .so-section ul li:focus,
2705
  .so-panels-contextual-menu .so-section ul li:hover,
2706
  .so-panels-contextual-menu .so-section ul li.so-active {
2707
  background: #F0F0F0;
2766
  -moz-box-shadow: none;
2767
  box-shadow: none;
2768
  }
2769
+ .so-dropdown-wrapper .so-dropdown-links-wrapper ul li a:hover,
2770
+ .so-dropdown-wrapper .so-dropdown-links-wrapper ul li a:focus {
2771
  background: #F0F0F0;
2772
  color: #444;
2773
  }
css/admin.min.css CHANGED
@@ -1 +1 @@
1
- @font-face{font-family:siteorigin-panels-icons;src:url(icons/panels-icons.eot);src:url(icons/panels-icons.eot) format("embedded-opentype"),url(icons/panels-icons.woff) format("woff"),url(icons/panels-icons.ttf) format("truetype"),url(icons/panels-icons.svg) format("svg");font-weight:400;font-style:normal}#so-panels-panels.attached-to-editor{margin-top:20px}#so-panels-panels.attached-to-editor .handlediv,#so-panels-panels.attached-to-editor .hndle,#so-panels-panels.attached-to-editor .postbox-header{display:none!important}#so-panels-panels.attached-to-editor .inside{margin:0!important;padding:0!important}#so-panels-panels.attached-to-editor .so-toolbar .so-switch-to-standard{display:block}.siteorigin-panels-builder{position:relative}.siteorigin-panels-builder .so-tool-button{padding:6px 7px;text-decoration:none;line-height:1em;float:left;margin-right:2px;display:block;visibility:visible;position:relative;cursor:pointer;border:1px solid #bebebe;background:#eee;background:-o-linear-gradient(#f9f9f9,#eee);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#f9f9f9",endColorstr="#eeeeee",GradientType=0);box-shadow:0 1px 1px rgba(0,0,0,.04),inset 0 1px 0 hsla(0,0%,100%,.5);outline:none;border-radius:2px}.siteorigin-panels-builder .so-tool-button .so-panels-icon{font-size:12px}.siteorigin-panels-builder .so-tool-button span{display:inline-block;color:#666;text-shadow:0 1px 0 #fff;min-width:10px;text-align:center}.siteorigin-panels-builder .so-tool-button:hover{background:#fff}.siteorigin-panels-builder .so-tool-button:hover span{color:#444}@media (max-width:782px){.siteorigin-panels-builder .so-tool-button.so-row-settings{margin-right:8px}}.siteorigin-panels-builder .so-builder-toolbar{-ms-box-sizing:border-box;box-sizing:border-box;border-bottom:1px solid #d0d0d0;background:#f5f5f5;line-height:1em;z-index:101;white-space:nowrap;overflow-x:hidden;position:relative;box-shadow:0 1px 1px rgba(0,0,0,.04);top:0;left:0;width:100%;padding:6px 9px;margin-top:0!important;zoom:1}.siteorigin-panels-builder .so-builder-toolbar:before{content:"";display:block}.siteorigin-panels-builder .so-builder-toolbar:after{content:"";display:table;clear:both}.siteorigin-panels-builder .so-builder-toolbar .so-tool-button{display:inline-block;color:#666;padding:2px 10px 2px 8px}.siteorigin-panels-builder .so-builder-toolbar .so-tool-button .so-button-text{margin:3px 0 2px;font-size:11px}.siteorigin-panels-builder .so-builder-toolbar .so-tool-button .so-panels-icon{float:left;margin:3px 7px 2px 0;font-size:14px;color:#747474}.siteorigin-panels-builder .so-builder-toolbar .so-tool-button:hover,.siteorigin-panels-builder .so-builder-toolbar .so-tool-button:hover .so-panels-icon{color:#444}@media (max-width:782px){.siteorigin-panels-builder .so-builder-toolbar .so-tool-button{margin-right:8px}.siteorigin-panels-builder .so-builder-toolbar .so-tool-button .so-button-text{margin:7px 0 2px 5px;font-size:14px}.siteorigin-panels-builder .so-builder-toolbar .so-tool-button .so-panels-icon{margin:3px 0;font-size:21px}}.siteorigin-panels-builder .so-builder-toolbar .so-switch-to-standard{cursor:pointer;float:right;display:none;text-decoration:none;color:#666;padding:5px 6px;border-radius:2px;border:1px solid transparent;font-size:11px}.siteorigin-panels-builder .so-builder-toolbar .so-switch-to-standard:hover{background:#fafafa;border:1px solid #999;color:#444}.siteorigin-panels-builder .so-rows-container{padding:20px 15px 0}.siteorigin-panels-builder .so-rows-container .so-row-color-1.so-row-color{background-color:#cde2ec;border:1px solid #a4cadd}.siteorigin-panels-builder .so-rows-container .so-row-color-1.so-row-color.so-row-color-selected:before{background:#a8cdde}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-1 .so-cells .cell .cell-wrapper{background-color:#cde2ec}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-1 .so-cells .cell.cell-selected .cell-wrapper{background-color:#99c4d8}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-1 .so-cells .cell .resize-handle{background-color:#e7f1f6}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-1 .so-cells .cell .resize-handle:hover{background-color:#dcebf2}.siteorigin-panels-builder .so-rows-container .so-row-color-2.so-row-color{background-color:#f2c2be;border:1px solid #e9968f}.siteorigin-panels-builder .so-rows-container .so-row-color-2.so-row-color.so-row-color-selected:before{background:#ea9a93}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-2 .so-cells .cell .cell-wrapper{background-color:#f2c2be}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-2 .so-cells .cell.cell-selected .cell-wrapper{background-color:#e68a83}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-2 .so-cells .cell .resize-handle{background-color:#f8dedc}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-2 .so-cells .cell .resize-handle:hover{background-color:#f5d2cf}.siteorigin-panels-builder .so-rows-container .so-row-color-3.so-row-color{background-color:#d5ccdf;border:1px solid #b9aac9}.siteorigin-panels-builder .so-rows-container .so-row-color-3.so-row-color.so-row-color-selected:before{background:#bbadcb}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-3 .so-cells .cell .cell-wrapper{background-color:#d5ccdf}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-3 .so-cells .cell.cell-selected .cell-wrapper{background-color:#b1a0c3}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-3 .so-cells .cell .resize-handle{background-color:#e7e2ed}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-3 .so-cells .cell .resize-handle:hover{background-color:#dfd9e7}.siteorigin-panels-builder .so-rows-container .so-row-color-4.so-row-color{background-color:#cae7cd;border:1px solid #a3d6a9}.siteorigin-panels-builder .so-rows-container .so-row-color-4.so-row-color.so-row-color-selected:before{background:#a7d7ac}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-4 .so-cells .cell .cell-wrapper{background-color:#cae7cd}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-4 .so-cells .cell.cell-selected .cell-wrapper{background-color:#99d19f}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-4 .so-cells .cell .resize-handle{background-color:#e3f2e4}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-4 .so-cells .cell .resize-handle:hover{background-color:#d8edda}.siteorigin-panels-builder .so-rows-container .so-row-color-5.so-row-color{background-color:#e2dcb1;border:1px solid #d3ca88}.siteorigin-panels-builder .so-rows-container .so-row-color-5.so-row-color.so-row-color-selected:before{background:#d4cb8c}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-5 .so-cells .cell .cell-wrapper{background-color:#e2dcb1}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-5 .so-cells .cell.cell-selected .cell-wrapper{background-color:#cfc57d}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-5 .so-cells .cell .resize-handle{background-color:#ece8cb}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-5 .so-cells .cell .resize-handle:hover{background-color:#e8e3c0}.siteorigin-panels-builder .so-rows-container h3.so-row-label{display:inline-block;font-size:1em;font-weight:500;color:#474747;margin:0 0 0 4px;line-height:22px;float:left}.siteorigin-panels-builder .so-rows-container .so-row-toolbar{zoom:1;margin-bottom:4px}.siteorigin-panels-builder .so-rows-container .so-row-toolbar:before{content:"";display:block}.siteorigin-panels-builder .so-rows-container .so-row-toolbar:after{content:"";display:table;clear:both}.siteorigin-panels-builder .so-rows-container .so-row-toolbar .so-tool-button{-ms-box-sizing:border-box;box-sizing:border-box;padding:4px;float:right}.siteorigin-panels-builder .so-rows-container .so-row-toolbar .so-tool-button .so-panels-icon{color:#777;font-size:11px;width:11px;height:11px;display:block}.siteorigin-panels-builder .so-rows-container .so-row-toolbar .so-tool-button:hover .so-panels-icon{color:#555}.siteorigin-panels-builder .so-rows-container .so-row-toolbar .so-tool-button.so-row-move{cursor:move}@media (max-width:782px){.siteorigin-panels-builder .so-rows-container .so-row-toolbar{margin-bottom:8px}.siteorigin-panels-builder .so-rows-container .so-row-toolbar .so-tool-button .so-panels-icon{font-size:21px;width:21px;height:21px}}.siteorigin-panels-builder .so-rows-container .so-row-toolbar .so-dropdown-wrapper .so-dropdown-links-wrapper{visibility:hidden;opacity:0;transition:visibility 0s linear 75ms,opacity 75ms linear;z-index:101;right:-10px;top:100%;width:125px}.siteorigin-panels-builder .so-rows-container .so-row-toolbar .so-dropdown-wrapper .so-dropdown-links-wrapper ul li a.so-row-delete{color:#a00}.siteorigin-panels-builder .so-rows-container .so-row-toolbar .so-dropdown-wrapper .so-dropdown-links-wrapper ul li a.so-row-delete:hover{color:#fff;background:#a00}.siteorigin-panels-builder .so-rows-container .so-row-toolbar .so-dropdown-wrapper .so-dropdown-links-wrapper ul li.so-row-colors-container{display:flex;justify-content:space-around;padding:5px}.siteorigin-panels-builder .so-rows-container .so-row-toolbar .so-dropdown-wrapper .so-dropdown-links-wrapper ul li.so-row-colors-container .so-row-color{display:inline-block;cursor:pointer;position:relative;text-align:center;width:14px;height:14px}.siteorigin-panels-builder .so-rows-container .so-row-toolbar .so-dropdown-wrapper .so-dropdown-links-wrapper ul li.so-row-colors-container .so-row-color.so-row-color-selected:before{content:"";display:block;position:absolute;top:2px;bottom:2px;left:2px;right:2px}.siteorigin-panels-builder .so-rows-container .so-row-toolbar .so-dropdown-wrapper:hover .so-dropdown-links-wrapper{visibility:visible;opacity:1;transition-delay:0s}.siteorigin-panels-builder .so-rows-container .ui-sortable-placeholder{visibility:visible!important;background:#f7f7f7;-ms-box-sizing:border-box;box-sizing:border-box}.siteorigin-panels-builder .so-rows-container .so-row-container{margin-bottom:15px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.siteorigin-panels-builder .so-rows-container .so-row-container.ui-sortable-helper{opacity:.9}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells{zoom:1;margin:0 -5px;position:relative;display:flex}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells:before{content:"";display:block}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells:after{content:"";display:table;clear:both}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .ui-resizable-handle.ui-resizable-w{width:10px;left:-11px;cursor:col-resize;background:rgba(0,150,211,.25);transition:background .25s ease-in-out}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .ui-resizable-handle.ui-resizable-w:hover{background:rgba(0,150,211,.1)}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell{-ms-box-sizing:border-box;box-sizing:border-box;position:relative;padding:0 5px}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell.so-first{margin-left:0}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell.so-last{margin-right:0}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .cell-wrapper{background:#e4eff4;padding:7px 7px 1px;height:100%;min-height:63px;transition:background .25s ease-in-out 0s}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell.cell-selected .cell-wrapper{background-size:3px 3px}}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell,.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .cell-wrapper{-ms-box-sizing:border-box;box-sizing:border-box}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget{cursor:move;margin-bottom:6px;background:#f9f9fb;border:1px solid hsla(0,0%,100%,.75);max-height:49px;box-shadow:0 1px 1px rgba(0,0,0,.075);-ms-box-sizing:border-box;box-sizing:border-box}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget.so-widget-no-move{cursor:auto}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget:hover{border:1px solid hsla(0,0%,100%,.55);background:#fff;box-shadow:0 0 2px rgba(0,0,0,.1)}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget .so-widget-wrapper{padding:7px 8px;overflow:hidden;position:relative}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget h4{display:block;cursor:pointer;margin:0 15px 3px 0;font-size:1em;font-weight:600;line-height:1.25em;color:#474747;text-shadow:0 1px 0 #fff;white-space:nowrap;-webkit-text-size-adjust:100%}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget h4 span{font-weight:400;display:inline-block;color:#999;text-shadow:0 1px 0 #fff;margin-left:12px;margin-right:5px;font-style:italic}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget.so-widget-no-edit h4{cursor:auto}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget .title .actions{font-size:12px;position:absolute;top:5px;right:7px;cursor:pointer;padding:2px 2px 2px 15px;z-index:10}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget .title .actions:hover{background:#feffff}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget .title .actions:hover a{opacity:1}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget .title .actions a{color:#0073aa;display:none;margin-right:3px;text-decoration:none}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget .title .actions a:hover{color:#00a0d2}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget .title .actions a.widget-delete{color:red}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget .title .actions a.widget-delete:hover{color:#fff;background:red}@media (max-width:782px){.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget .title .actions{position:static;opacity:1;padding-left:0;display:flex;justify-content:space-between}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget .title .actions a{display:inline-block}}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget:hover .title a{display:inline-block;opacity:.5}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget.panel-being-dragged .title .actions{display:none}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget small{display:block;height:16px;overflow:hidden;color:#777}@media (max-width:782px){.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget small{display:none}}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget .form{display:none}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget.so-widget-read-only,.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget.so-widget-read-only:hover{background:#f5f5f5;border:1px solid #a6bac1;box-shadow:none}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget.so-widget-read-only:hover h4,.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget.so-widget-read-only:hover small,.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget.so-widget-read-only h4,.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget.so-widget-read-only small{opacity:.5}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget.so-hovered{background:#3a7096;border:1px solid #39618c;box-shadow:0 2px 2px rgba(0,0,0,.1)}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget.so-hovered h4,.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget.so-hovered small,.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget.so-hovered span{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.85)}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget.so-hovered small{color:#eee}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget-sortable-highlight{border:1px solid rgba(0,0,0,.075);background:rgba(0,0,0,.025);-ms-box-sizing:border-box;box-sizing:border-box;height:49px;margin-bottom:7px;position:relative;box-shadow:inset 2px 2px 2px rgba(0,0,0,.01)}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .resize-handle{z-index:100;position:absolute;top:0;width:10px;left:-5px;cursor:col-resize;background:#f6fafb;height:100%;transition:background .25s ease-in-out 0s}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell:first-child .resize-handle{display:none}.siteorigin-panels-builder .so-panels-welcome-message{text-align:center;padding:0 15px 20px;color:#555;line-height:1.8em}.siteorigin-panels-builder .so-panels-welcome-message .so-message-wrapper{padding:15px 10px;background:#f8f8f8;border:1px solid #e0e0e0}@media only screen and (max-width:782px){.siteorigin-panels-builder .so-panels-welcome-message .so-message-wrapper{font-size:14px}}.siteorigin-panels-builder .so-panels-welcome-message .so-tool-button{font-size:inherit;display:inline-block;float:none;color:#666;padding:5px 10px;margin:0 3px}@media only screen and (max-width:782px){.siteorigin-panels-builder .so-panels-welcome-message .so-tool-button{padding:9px 10px}}.siteorigin-panels-builder .so-panels-welcome-message .so-tool-button .so-panels-icon{color:#777;font-size:.8em}.siteorigin-panels-builder .so-panels-welcome-message .so-tip-wrapper{margin-top:15px;font-size:.95em}.siteorigin-panels-builder.so-display-narrow .so-builder-toolbar{padding:10px;text-decoration:none}.siteorigin-panels-builder.so-display-narrow .so-builder-toolbar>.so-tool-button .so-panels-icon{margin:3px 0}.siteorigin-panels-builder.so-display-narrow .so-builder-toolbar>.so-tool-button.so-learn,.siteorigin-panels-builder.so-display-narrow .so-builder-toolbar>.so-tool-button span.so-button-text{display:none}.siteorigin-panels-builder.so-display-narrow .so-builder-toolbar .so-switch-to-standard{display:none!important}.so-widget.ui-sortable-helper.widget-being-dragged{z-index:500002!important;opacity:.9;pointer-events:none;border:1px solid rgba(0,0,0,.35)!important;cursor:move;margin-bottom:6px;background:#f9f9fb;border:1px solid hsla(0,0%,100%,.75);max-height:49px;box-shadow:0 1px 1px rgba(0,0,0,.075);-ms-box-sizing:border-box;box-sizing:border-box}.so-widget.ui-sortable-helper.widget-being-dragged.so-widget-no-move{cursor:auto}.so-widget.ui-sortable-helper.widget-being-dragged:hover{border:1px solid hsla(0,0%,100%,.55);background:#fff;box-shadow:0 0 2px rgba(0,0,0,.1)}.so-widget.ui-sortable-helper.widget-being-dragged .so-widget-wrapper{padding:7px 8px;overflow:hidden;position:relative}.so-widget.ui-sortable-helper.widget-being-dragged h4{display:block;cursor:pointer;margin:0 15px 3px 0;font-size:1em;font-weight:600;line-height:1.25em;color:#474747;text-shadow:0 1px 0 #fff;white-space:nowrap;-webkit-text-size-adjust:100%}.so-widget.ui-sortable-helper.widget-being-dragged h4 span{font-weight:400;display:inline-block;color:#999;text-shadow:0 1px 0 #fff;margin-left:12px;margin-right:5px;font-style:italic}.so-widget.ui-sortable-helper.widget-being-dragged.so-widget-no-edit h4{cursor:auto}.so-widget.ui-sortable-helper.widget-being-dragged .title .actions{font-size:12px;position:absolute;top:5px;right:7px;cursor:pointer;padding:2px 2px 2px 15px;z-index:10}.so-widget.ui-sortable-helper.widget-being-dragged .title .actions:hover{background:#feffff}.so-widget.ui-sortable-helper.widget-being-dragged .title .actions:hover a{opacity:1}.so-widget.ui-sortable-helper.widget-being-dragged .title .actions a{color:#0073aa;display:none;margin-right:3px;text-decoration:none}.so-widget.ui-sortable-helper.widget-being-dragged .title .actions a:hover{color:#00a0d2}.so-widget.ui-sortable-helper.widget-being-dragged .title .actions a.widget-delete{color:red}.so-widget.ui-sortable-helper.widget-being-dragged .title .actions a.widget-delete:hover{color:#fff;background:red}@media (max-width:782px){.so-widget.ui-sortable-helper.widget-being-dragged .title .actions{position:static;opacity:1;padding-left:0;display:flex;justify-content:space-between}.so-widget.ui-sortable-helper.widget-being-dragged .title .actions a{display:inline-block}}.so-widget.ui-sortable-helper.widget-being-dragged:hover .title a{display:inline-block;opacity:.5}.so-widget.ui-sortable-helper.widget-being-dragged.panel-being-dragged .title .actions{display:none}.so-widget.ui-sortable-helper.widget-being-dragged small{display:block;height:16px;overflow:hidden;color:#777}@media (max-width:782px){.so-widget.ui-sortable-helper.widget-being-dragged small{display:none}}.so-widget.ui-sortable-helper.widget-being-dragged .form{display:none}.so-widget.ui-sortable-helper.widget-being-dragged.so-widget-read-only,.so-widget.ui-sortable-helper.widget-being-dragged.so-widget-read-only:hover{background:#f5f5f5;border:1px solid #a6bac1;box-shadow:none}.so-widget.ui-sortable-helper.widget-being-dragged.so-widget-read-only:hover h4,.so-widget.ui-sortable-helper.widget-being-dragged.so-widget-read-only:hover small,.so-widget.ui-sortable-helper.widget-being-dragged.so-widget-read-only h4,.so-widget.ui-sortable-helper.widget-being-dragged.so-widget-read-only small{opacity:.5}.so-widget.ui-sortable-helper.widget-being-dragged.so-hovered{background:#3a7096;border:1px solid #39618c;box-shadow:0 2px 2px rgba(0,0,0,.1)}.so-widget.ui-sortable-helper.widget-being-dragged.so-hovered h4,.so-widget.ui-sortable-helper.widget-being-dragged.so-hovered small,.so-widget.ui-sortable-helper.widget-being-dragged.so-hovered span{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.85)}.so-widget.ui-sortable-helper.widget-being-dragged.so-hovered small{color:#eee}.widgets-holder-wrap .widget-inside .siteorigin-panels-builder .so-builder-container{padding-top:0}.widgets-holder-wrap .widget-inside .siteorigin-panels-builder .so-rows-container{padding:10px 0 0}.widgets-holder-wrap .widget-inside .siteorigin-panels-builder .so-builder-toolbar{padding-left:15px;padding-right:15px;margin:0 -15px}.block-editor,.so-panels-dialog{-webkit-text-size-adjust:none}.block-editor .so-content,.block-editor .so-left-sidebar,.block-editor .so-overlay,.block-editor .so-right-sidebar,.block-editor .so-title-bar,.block-editor .so-toolbar,.so-panels-dialog .so-content,.so-panels-dialog .so-left-sidebar,.so-panels-dialog .so-overlay,.so-panels-dialog .so-right-sidebar,.so-panels-dialog .so-title-bar,.so-panels-dialog .so-toolbar{z-index:100001;position:fixed;-ms-box-sizing:border-box;box-sizing:border-box;padding:15px}.block-editor .so-content,.block-editor .so-left-sidebar,.block-editor .so-right-sidebar,.so-panels-dialog .so-content,.so-panels-dialog .so-left-sidebar,.so-panels-dialog .so-right-sidebar{overflow-y:auto}.block-editor .so-overlay,.so-panels-dialog .so-overlay{top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5)}.block-editor .so-content,.so-panels-dialog .so-content{background-color:#fdfdfd;overflow-x:hidden;box-shadow:inset 0 2px 2px rgba(0,0,0,.03)}@media (max-width:980px){.block-editor .so-content,.so-panels-dialog .so-content{top:50px;bottom:58px;width:100%}}@media (min-width:980px){.block-editor .so-content,.so-panels-dialog .so-content{top:80px;left:30px;bottom:88px;right:30px}}.block-editor .so-content>:first-child,.so-panels-dialog .so-content>:first-child{margin-top:0}.block-editor .so-content>:last-child,.so-panels-dialog .so-content>:last-child{margin-bottom:0}.block-editor .so-content .so-content-tabs>*,.so-panels-dialog .so-content .so-content-tabs>*{display:none}.block-editor .so-title-bar,.so-panels-dialog .so-title-bar{top:0;height:50px;background-color:#fafafa;border-bottom:1px solid #d8d8d8;padding:0}@media (max-width:980px){.block-editor .so-title-bar,.so-panels-dialog .so-title-bar{width:100%}}@media (min-width:980px){.block-editor .so-title-bar,.so-panels-dialog .so-title-bar{left:30px;right:30px;top:30px}}.block-editor .so-title-bar h3.so-title,.so-panels-dialog .so-title-bar h3.so-title{-ms-box-sizing:border-box;box-sizing:border-box;margin:0 150px 0 -3px;padding:15px;display:inline-block}.block-editor .so-title-bar h3.so-title.so-title-editable:focus,.block-editor .so-title-bar h3.so-title.so-title-editable:hover,.so-panels-dialog .so-title-bar h3.so-title.so-title-editable:focus,.so-panels-dialog .so-title-bar h3.so-title.so-title-editable:hover{outline:none;background-color:#f0f0f0}.block-editor .so-title-bar h3.so-title.so-title-editable:focus,.so-panels-dialog .so-title-bar h3.so-title.so-title-editable:focus{border:1px solid #e4e4e4}.block-editor .so-title-bar input[type=text].so-edit-title,.so-panels-dialog .so-title-bar input[type=text].so-edit-title{margin-top:-3px;margin-left:-3px;display:none;color:#23282d;font-size:1.3em;font-weight:600;border:none;box-shadow:none;background-color:#f0f0f0;padding:4px 5px}.block-editor .so-title-bar h3.so-parent-link,.so-panels-dialog .so-title-bar h3.so-parent-link{cursor:pointer;position:relative;float:left;margin:0 15px 0 0;padding:15px 27px 15px 3px}.block-editor .so-title-bar h3.so-parent-link .so-separator,.so-panels-dialog .so-title-bar h3.so-parent-link .so-separator{position:absolute;top:0;right:0;width:12px;height:50px;display:block;background:url(images/dialog-separator.png) no-repeat}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.block-editor .so-title-bar h3.so-parent-link .so-separator,.so-panels-dialog .so-title-bar h3.so-parent-link .so-separator{background:url(images/dialog-separator@2x.png) no-repeat;background-size:cover}}.block-editor .so-title-bar a,.so-panels-dialog .so-title-bar a{cursor:pointer;position:relative;box-sizing:border-box;width:50px;height:50px;display:inline-block;transition:all .2s ease 0s;background:#fafafa;border-left:1px solid #d8d8d8;border-bottom:1px solid #d8d8d8}.block-editor .so-title-bar a:hover,.so-panels-dialog .so-title-bar a:hover{background:#e9e9e9}.block-editor .so-title-bar a:hover .so-dialog-icon,.so-panels-dialog .so-title-bar a:hover .so-dialog-icon{color:#333}.block-editor .so-title-bar a .so-dialog-icon,.so-panels-dialog .so-title-bar a .so-dialog-icon{position:absolute;top:50%;left:50%;text-decoration:none;width:20px;height:20px;margin-left:-10px;margin-top:-10px;color:#666;text-align:center}.block-editor .so-title-bar a .so-dialog-icon:before,.so-panels-dialog .so-title-bar a .so-dialog-icon:before{font:400 20px/1em dashicons;top:7px;left:13px}.block-editor .so-title-bar a.so-close,.so-panels-dialog .so-title-bar a.so-close{right:0}.block-editor .so-title-bar a.so-close .so-dialog-icon:before,.so-panels-dialog .so-title-bar a.so-close .so-dialog-icon:before{content:"\f335"}.block-editor .so-title-bar a.so-show-left-sidebar,.so-panels-dialog .so-title-bar a.so-show-left-sidebar{float:left;display:inline;padding:16px 25px;border-right:1px solid #d8d8d8;border-bottom:1px solid #d8d8d8}.block-editor .so-title-bar a.so-show-left-sidebar .so-dialog-icon:before,.so-panels-dialog .so-title-bar a.so-show-left-sidebar .so-dialog-icon:before{content:"\f333"}.block-editor .so-title-bar a.so-show-right-sidebar,.so-panels-dialog .so-title-bar a.so-show-right-sidebar{display:inline-block}.block-editor .so-title-bar a.so-show-right-sidebar .so-dialog-icon:before,.so-panels-dialog .so-title-bar a.so-show-right-sidebar .so-dialog-icon:before{content:"\f100"}.block-editor .so-title-bar a.so-next .so-dialog-icon:before,.so-panels-dialog .so-title-bar a.so-next .so-dialog-icon:before{content:"\f345"}.block-editor .so-title-bar a.so-previous .so-dialog-icon:before,.so-panels-dialog .so-title-bar a.so-previous .so-dialog-icon:before{content:"\f341"}.block-editor .so-title-bar a.so-nav.so-disabled,.so-panels-dialog .so-title-bar a.so-nav.so-disabled{cursor:default;pointer-events:none}.block-editor .so-title-bar a.so-nav.so-disabled .so-dialog-icon,.so-panels-dialog .so-title-bar a.so-nav.so-disabled .so-dialog-icon{color:#ddd}.block-editor .so-title-bar .so-title-bar-buttons,.so-panels-dialog .so-title-bar .so-title-bar-buttons{position:absolute;right:0;top:0}.block-editor .so-title-bar.so-has-left-button.so-has-icon .so-panels-icon,.so-panels-dialog .so-title-bar.so-has-left-button.so-has-icon .so-panels-icon{left:70px}.block-editor .so-title-bar.so-has-icon .so-panels-icon,.so-panels-dialog .so-title-bar.so-has-icon .so-panels-icon{float:left;padding:14px;font-size:22px;line-height:22px;display:inline-block;width:22px;height:22px;text-align:center;color:#666}.block-editor .so-toolbar,.so-panels-dialog .so-toolbar{height:58px;background-color:#fafafa;border-top:1px solid #d8d8d8;z-index:100002}@media (max-width:980px){.block-editor .so-toolbar,.so-panels-dialog .so-toolbar{bottom:0;width:100%}}@media (min-width:980px){.block-editor .so-toolbar,.so-panels-dialog .so-toolbar{left:30px;right:30px;bottom:30px}}.block-editor .so-toolbar .so-status,.so-panels-dialog .so-toolbar .so-status{float:left;padding-top:6px;padding-bottom:6px;font-style:italic;color:#999;line-height:1em}.block-editor .so-toolbar .so-status.so-panels-loading,.so-panels-dialog .so-toolbar .so-status.so-panels-loading{padding-left:26px;background-position:0}.block-editor .so-toolbar .so-status .dashicons-warning,.so-panels-dialog .so-toolbar .so-status .dashicons-warning{color:#a00;vertical-align:middle;margin-right:7px;margin-top:-1px}.block-editor .so-toolbar .so-buttons,.so-panels-dialog .so-toolbar .so-buttons{float:right}.block-editor .so-toolbar .so-buttons .action-buttons,.so-panels-dialog .so-toolbar .so-buttons .action-buttons{position:absolute;left:15px;top:50%;margin-top:-.65em}.block-editor .so-toolbar .so-buttons .action-buttons a,.so-panels-dialog .so-toolbar .so-buttons .action-buttons a{cursor:pointer;display:inline;padding:.2em .5em;line-height:1em;margin-right:.5em;text-decoration:none}.block-editor .so-toolbar .so-buttons .action-buttons .so-delete,.so-panels-dialog .so-toolbar .so-buttons .action-buttons .so-delete{color:#a00}.block-editor .so-toolbar .so-buttons .action-buttons .so-delete:hover,.so-panels-dialog .so-toolbar .so-buttons .action-buttons .so-delete:hover{background:#a00;color:#fff}.block-editor .so-toolbar .so-buttons .action-buttons .so-duplicate:hover,.so-panels-dialog .so-toolbar .so-buttons .action-buttons .so-duplicate:hover{text-decoration:underline}.block-editor .so-left-sidebar,.block-editor .so-right-sidebar,.so-panels-dialog .so-left-sidebar,.so-panels-dialog .so-right-sidebar{background-color:#f3f3f3}.block-editor .so-left-sidebar,.so-panels-dialog .so-left-sidebar{border-right:1px solid #d8d8d8;display:none;width:290px}@media only screen and (max-width:980px){.block-editor .so-left-sidebar,.so-panels-dialog .so-left-sidebar{top:50px;width:100%;z-index:110000;height:calc(100% - 58px - 50px)}}@media (min-width:980px){.block-editor .so-left-sidebar,.so-panels-dialog .so-left-sidebar{top:30px;left:30px;bottom:30px}}.block-editor .so-left-sidebar h4,.so-panels-dialog .so-left-sidebar h4{margin:0 0 20px;font-size:18px}.block-editor .so-left-sidebar .so-sidebar-search,.so-panels-dialog .so-left-sidebar .so-sidebar-search{width:100%;padding:6px;margin-bottom:20px;line-height:normal}.block-editor .so-left-sidebar .so-sidebar-tabs,.so-panels-dialog .so-left-sidebar .so-sidebar-tabs{list-style:none;margin:0 -15px}.block-editor .so-left-sidebar .so-sidebar-tabs li,.so-panels-dialog .so-left-sidebar .so-sidebar-tabs li{margin-bottom:0}.block-editor .so-left-sidebar .so-sidebar-tabs li a,.so-panels-dialog .so-left-sidebar .so-sidebar-tabs li a{padding:7px 16px;display:block;font-size:14px;text-decoration:none;box-shadow:none!important}.block-editor .so-left-sidebar .so-sidebar-tabs li a:hover,.so-panels-dialog .so-left-sidebar .so-sidebar-tabs li a:hover{background:#fff}.block-editor .so-left-sidebar .so-sidebar-tabs li.tab-active a,.so-panels-dialog .so-left-sidebar .so-sidebar-tabs li.tab-active a{color:#555;font-weight:700;background:#fff}.block-editor .so-left-sidebar .so-sidebar-tabs li.tab-active a:hover,.so-panels-dialog .so-left-sidebar .so-sidebar-tabs li.tab-active a:hover{background:#fff}.block-editor .so-right-sidebar,.so-panels-dialog .so-right-sidebar{display:none;border-left:1px solid #d8d8d8}@media (min-width:980px){.block-editor .so-right-sidebar,.so-panels-dialog .so-right-sidebar{top:50px;bottom:58px;top:80px;right:30px;bottom:88px;width:290px}}.block-editor .so-right-sidebar h3,.so-panels-dialog .so-right-sidebar h3{color:#333}.block-editor .so-right-sidebar h3:first-child,.so-panels-dialog .so-right-sidebar h3:first-child{margin-top:0}@media only screen and (max-width:980px){.block-editor .so-right-sidebar,.so-panels-dialog .so-right-sidebar{z-index:110000;top:50px;bottom:58px;height:calc(100% - 58px - 50px);width:100%}}.block-editor .so-sidebar .form-field,.so-panels-dialog .so-sidebar .form-field{margin-bottom:20px}.block-editor .so-sidebar .form-field label,.so-panels-dialog .so-sidebar .form-field label{font-weight:500;font-size:15px;display:block;margin-bottom:10px}.block-editor.so-panels-dialog-has-left-sidebar .so-content,.block-editor.so-panels-dialog-has-left-sidebar .so-title-bar,.block-editor.so-panels-dialog-has-left-sidebar .so-toolbar,.so-panels-dialog.so-panels-dialog-has-left-sidebar .so-content,.so-panels-dialog.so-panels-dialog-has-left-sidebar .so-title-bar,.so-panels-dialog.so-panels-dialog-has-left-sidebar .so-toolbar{left:320px}@media (max-width:980px){.block-editor.so-panels-dialog-has-left-sidebar .so-content,.block-editor.so-panels-dialog-has-left-sidebar .so-title-bar,.block-editor.so-panels-dialog-has-left-sidebar .so-toolbar,.so-panels-dialog.so-panels-dialog-has-left-sidebar .so-content,.so-panels-dialog.so-panels-dialog-has-left-sidebar .so-title-bar,.so-panels-dialog.so-panels-dialog-has-left-sidebar .so-toolbar{left:290px}}.block-editor.so-panels-dialog-has-left-sidebar .so-content,.so-panels-dialog.so-panels-dialog-has-left-sidebar .so-content{box-shadow:inset 2px 2px 2px rgba(0,0,0,.03)}.block-editor.so-panels-dialog-has-left-sidebar .so-left-sidebar,.so-panels-dialog.so-panels-dialog-has-left-sidebar .so-left-sidebar{display:block}@media (min-width:980px){.block-editor.so-panels-dialog-has-right-sidebar .so-content,.so-panels-dialog.so-panels-dialog-has-right-sidebar .so-content{right:320px}}.block-editor.so-panels-dialog-has-right-sidebar .so-right-sidebar,.so-panels-dialog.so-panels-dialog-has-right-sidebar .so-right-sidebar{display:block}.block-editor.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget,.so-panels-dialog.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget{border-radius:2px;border:1px solid #ccc;cursor:pointer;padding:10px;background:#f9f9f9;box-shadow:0 1px 2px rgba(0,0,0,.075),inset 0 1px 0 #fff;margin-bottom:15px}.block-editor.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget:hover,.so-panels-dialog.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget:hover{border:1px solid #bbb;background:#fff}.block-editor.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget.so-current,.so-panels-dialog.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget.so-current{border-color:#0074a2;background:#2ea2cc;cursor:auto;box-shadow:0 1px 2px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.2)}.block-editor.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget.so-current h3,.so-panels-dialog.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget.so-current h3{color:#fff}.block-editor.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget.so-current small,.so-panels-dialog.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget.so-current small{color:#eee}.block-editor.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget.so-current:hover,.so-panels-dialog.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget.so-current:hover{border-color:#0074a2;background:#2ea2cc}.block-editor.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget:last-child,.so-panels-dialog.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget:last-child{margin-bottom:0}.block-editor.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget h3,.so-panels-dialog.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget h3{margin:0 0 7px;padding:0;height:1.2em;color:#222;font-size:14px}.block-editor.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget small,.so-panels-dialog.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget small{font-size:11px;line-height:1.25em;display:block;overflow:hidden;color:#888}.block-editor.so-panels-dialog-add-widget .widget-type-list,.so-panels-dialog.so-panels-dialog-add-widget .widget-type-list{zoom:1;margin:0 -5px -10px;min-height:10px}.block-editor.so-panels-dialog-add-widget .widget-type-list:before,.so-panels-dialog.so-panels-dialog-add-widget .widget-type-list:before{content:"";display:block}.block-editor.so-panels-dialog-add-widget .widget-type-list:after,.so-panels-dialog.so-panels-dialog-add-widget .widget-type-list:after{content:"";display:table;clear:both}.block-editor.so-panels-dialog-add-widget .widget-type-list .widget-type,.so-panels-dialog.so-panels-dialog-add-widget .widget-type-list .widget-type{-ms-user-select:none;-moz-user-select:-moz-none;-webkit-user-select:none;user-select:none;-ms-box-sizing:border-box;box-sizing:border-box;width:25%;padding:0 5px;margin-bottom:10px;float:left}@media (max-width:1280px){.block-editor.so-panels-dialog-add-widget .widget-type-list .widget-type,.so-panels-dialog.so-panels-dialog-add-widget .widget-type-list .widget-type{width:33.333%}}@media (max-width:960px){.block-editor.so-panels-dialog-add-widget .widget-type-list .widget-type,.so-panels-dialog.so-panels-dialog-add-widget .widget-type-list .widget-type{width:50%}}.block-editor.so-panels-dialog-add-widget .widget-type-list .widget-type h3,.so-panels-dialog.so-panels-dialog-add-widget .widget-type-list .widget-type h3{margin:0 0 7px;padding:0;color:#222;font-size:14px}.block-editor.so-panels-dialog-add-widget .widget-type-list .widget-type small,.so-panels-dialog.so-panels-dialog-add-widget .widget-type-list .widget-type small{font-size:11px;min-height:2.5em;line-height:1.25em;display:block;overflow:hidden;color:#888}.block-editor.so-panels-dialog-add-widget .widget-type-list .widget-type .widget-icon,.so-panels-dialog.so-panels-dialog-add-widget .widget-type-list .widget-type .widget-icon{font-size:20px;width:20px;height:20px;color:#666;float:left;margin:-1px .5em 0 0}.block-editor.so-panels-dialog-add-widget .widget-type-list .widget-type-wrapper,.so-panels-dialog.so-panels-dialog-add-widget .widget-type-list .widget-type-wrapper{border:1px solid #ccc;cursor:pointer;padding:10px;background:#f8f8f8;box-shadow:0 1px 2px rgba(0,0,0,.075)}.block-editor.so-panels-dialog-add-widget .widget-type-list .widget-type-wrapper:hover,.so-panels-dialog.so-panels-dialog-add-widget .widget-type-list .widget-type-wrapper:hover{border:1px solid #bbb;background:#fff;box-shadow:0 2px 2px rgba(0,0,0,.075)}.block-editor.so-panels-dialog-row-edit .so-content .row-set-form,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-set-form{zoom:1;padding:8px;border:1px solid #ccc;margin-bottom:20px;background:#f3f3f3}.block-editor.so-panels-dialog-row-edit .so-content .row-set-form:before,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-set-form:before{content:"";display:block}.block-editor.so-panels-dialog-row-edit .so-content .row-set-form:after,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-set-form:after{content:"";display:table;clear:both}.block-editor.so-panels-dialog-row-edit .so-content .row-set-form button,.block-editor.so-panels-dialog-row-edit .so-content .row-set-form input,.block-editor.so-panels-dialog-row-edit .so-content .row-set-form select,.block-editor.so-panels-dialog-row-edit .so-content .row-set-form span,.block-editor.so-panels-dialog-row-edit .so-content .row-set-form strong,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-set-form button,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-set-form input,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-set-form select,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-set-form span,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-set-form strong{display:inline;margin:1px 5px;width:auto;outline:none;box-shadow:none}.block-editor.so-panels-dialog-row-edit .so-content .row-set-form button,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-set-form button{margin-top:2px}.block-editor.so-panels-dialog-row-edit .so-content .row-set-form label,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-set-form label{display:inline}.block-editor.so-panels-dialog-row-edit .so-content .row-preview,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview{margin:0 -6px;height:360px;position:relative;white-space:nowrap}.block-editor.so-panels-dialog-row-edit .so-content .row-preview .preview-cell,.block-editor.so-panels-dialog-row-edit .so-content .row-preview .preview-cell-in,.block-editor.so-panels-dialog-row-edit .so-content .row-preview .preview-cell-weight,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview .preview-cell,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview .preview-cell-in,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview .preview-cell-weight{-ms-box-sizing:border-box;box-sizing:border-box}.block-editor.so-panels-dialog-row-edit .so-content .row-preview .preview-cell,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview .preview-cell{display:inline-block;position:relative;padding:0 6px;cursor:pointer}.block-editor.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in{border:1px solid #bcccd2;min-height:360px;background:#e4eff4;position:relative}.block-editor.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in.cell-selected,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in.cell-selected{background:#cae7f4 url(images/cell-selected.png) repeat;border-color:#9abcc7;box-shadow:0 0 5px rgba(0,0,0,.2)}.block-editor.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in .preview-cell-weight,.block-editor.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in .preview-cell-weight-input,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in .preview-cell-weight,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in .preview-cell-weight-input{position:absolute;font-size:17px;font-weight:700;top:50%;left:50%;width:80px;text-align:center;color:#5e6d72;margin:-.95em 0 0 -40px;padding:10px 0;border:1px solid transparent;line-height:1.4em!important;overflow:hidden;cursor:pointer}.block-editor.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in .preview-cell-weight-input:after,.block-editor.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in .preview-cell-weight:after,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in .preview-cell-weight-input:after,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in .preview-cell-weight:after{content:"%"}.block-editor.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in .preview-cell-weight-input:hover,.block-editor.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in .preview-cell-weight:hover,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in .preview-cell-weight-input:hover,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in .preview-cell-weight:hover{background:#f6f6f6;border:1px solid #d0d0d0}.block-editor.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in .preview-cell-weight-input,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in .preview-cell-weight-input{background:#f6f6f6;border:1px solid #d0d0d0;box-shadow:none}.block-editor.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .resize-handle,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .resize-handle{z-index:100;position:absolute;top:0;width:12px;left:-6px;cursor:col-resize;background:#e5f4fb;height:360px;transition:background .15s ease-in-out 0s}.block-editor.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .resize-handle.ui-draggable-dragging,.block-editor.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .resize-handle:hover,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .resize-handle.ui-draggable-dragging,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .resize-handle:hover{background:#b7e0f1}.block-editor.so-panels-dialog-history .so-left-sidebar,.so-panels-dialog.so-panels-dialog-history .so-left-sidebar{padding:0}.block-editor.so-panels-dialog-history .history-entries .history-entry,.so-panels-dialog.so-panels-dialog-history .history-entries .history-entry{padding:10px;background:#f8f8f8;cursor:pointer;border-bottom:1px solid #ccc}.block-editor.so-panels-dialog-history .history-entries .history-entry h3,.so-panels-dialog.so-panels-dialog-history .history-entries .history-entry h3{margin:0 0 .6em;font-size:12px;font-weight:700;color:#444;line-height:1em}.block-editor.so-panels-dialog-history .history-entries .history-entry .timesince,.so-panels-dialog.so-panels-dialog-history .history-entries .history-entry .timesince{color:#999;font-size:11px;line-height:1em}.block-editor.so-panels-dialog-history .history-entries .history-entry:hover,.so-panels-dialog.so-panels-dialog-history .history-entries .history-entry:hover{background:#f0f0f0}.block-editor.so-panels-dialog-history .history-entries .history-entry.so-selected,.so-panels-dialog.so-panels-dialog-history .history-entries .history-entry.so-selected{background:#eee}.block-editor.so-panels-dialog-history .history-entries .history-entry .count,.so-panels-dialog.so-panels-dialog-history .history-entries .history-entry .count{color:#999}.block-editor.so-panels-dialog-history .so-content,.so-panels-dialog.so-panels-dialog-history .so-content{padding:0;overflow-y:hidden}.block-editor.so-panels-dialog-history .so-content form.history-form,.so-panels-dialog.so-panels-dialog-history .so-content form.history-form{display:none}.block-editor.so-panels-dialog-history .so-content iframe.siteorigin-panels-history-iframe,.so-panels-dialog.so-panels-dialog-history .so-content iframe.siteorigin-panels-history-iframe{width:100%;height:100%}.block-editor.so-panels-dialog-prebuilt-layouts .so-content,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content{padding-left:10px;padding-right:10px}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-error-message,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-error-message{font-size:14px;border:1px solid #ccc;background:#f8f8f8;padding:15px 20px}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .export-file-ui,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .export-file-ui{padding:5px 15px;text-align:right}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui{padding:15px}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui .drag-drop-message,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui .drag-drop-message{display:none}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui.has-drag-drop .drag-drop-message,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui.has-drag-drop .drag-drop-message{display:block}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui p.drag-drop-message,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui p.drag-drop-message{font-size:1em;margin-bottom:0}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui .drag-upload-area,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui .drag-upload-area{display:block;-ms-box-sizing:border-box;box-sizing:border-box;padding:50px 30px;border:4px dashed #e0e0e0;text-align:center;transition:all .25s ease 0s}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui .drag-upload-area.file-dragover,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui .drag-upload-area.file-dragover{background-color:#f2f9fc;border-color:#0074a2}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui .progress-bar,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui .progress-bar{display:none;padding:2px;border:2px solid #2181b1;border-radius:2px;margin-top:20px}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui .progress-bar .progress-percent,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui .progress-bar .progress-percent{height:14px;background-color:#358ebe;border-radius:1px}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui .file-browse-button,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui .file-browse-button{padding:12px 30px;height:auto}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-browse,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-browse{background:#f3f3f3;border-bottom:1px solid #d0d0d0;margin:-15px -10px 15px;padding:15px;font-weight:700}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items-wrapper,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items-wrapper{display:flex;flex-flow:row wrap}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-no-results,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-no-results{margin:20px 0;padding:0 5px}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item{-ms-box-sizing:border-box;box-sizing:border-box;padding:6px}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-directory-item-wrapper,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-directory-item-wrapper{display:flex;flex-flow:column nowrap;height:100%;box-sizing:border-box;padding:15px 10px;background:#f7f7f7;border:1px solid #d0d0d0;box-shadow:0 1px 1px rgba(0,0,0,.1)}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-title,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-title{font-size:15px;margin:0 0 13px}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-screenshot,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-screenshot{flex:3 auto;margin-bottom:10px;cursor:pointer}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-screenshot.so-loading,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-screenshot.so-loading{background-image:url(images/wpspin_light.gif);background-position:50%;background-repeat:no-repeat}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-screenshot.so-loading,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-screenshot.so-loading{background-image:url(images/wpspin_light-2x.gif);background-size:16px 16px}}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-screenshot img,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-screenshot img{display:block;width:100%;height:auto}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-screenshot .so-screenshot-wrapper,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-screenshot .so-screenshot-wrapper{display:block;min-height:40px;background:gray;border:1px solid #d0d0d0}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-description,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-description{flex:1 auto;font-size:.9em;color:#666;margin-bottom:10px;max-height:60px;overflow:hidden}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-bottom,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-bottom{flex:1 auto;position:relative;max-height:50px;margin:10px -10px -15px;background:#fcfcfc;border-top:1px solid #d0d0d0}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-bottom .so-title,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-bottom .so-title{margin:0;padding:16px 10px;cursor:pointer;overflow:hidden;white-space:nowrap}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-bottom .so-buttons,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-bottom .so-buttons{position:absolute;z-index:2;top:0;bottom:0;right:0;height:100%;visibility:hidden;-ms-box-sizing:border-box;box-sizing:border-box;padding:11px 10px 10px 15px;border-left:1px solid #d0d0d0;background:#f6f6f6;box-shadow:-1px 0 1px rgba(0,0,0,.05)}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item:hover .so-buttons,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item:hover .so-buttons{visibility:visible}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item.selected,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item.selected{background-color:#e5f4fa}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item.selected .so-directory-item-wrapper,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item.selected .so-directory-item-wrapper{background:#deeef4;border-color:#9abcc7}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item.selected .so-bottom,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item.selected .so-bottom{background:#f8fdff;border-color:#bcccd2}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item.selected .so-bottom .so-title,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item.selected .so-bottom .so-title{color:#3e484c}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item.selected .so-bottom .so-buttons,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item.selected .so-bottom .so-buttons{background:#eaf2f6;border-color:#bcccd2}@media only screen and (min-width:1680px){.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item{width:20%}}@media only screen and (max-width:1679px) and (min-width:1280px){.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item{width:25%}}@media only screen and (max-width:1279px) and (min-width:1140px){.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item{width:33.333%}}@media only screen and (max-width:1139px){.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item{width:50%}}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-pages,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-pages{margin-top:15px;padding:0 5px}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-pages .button-disabled,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-pages .button-disabled{pointer-events:none}.block-editor.so-panels-dialog-prebuilt-layouts .so-toolbar .so-buttons select.so-layout-position,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-toolbar .so-buttons select.so-layout-position{vertical-align:baseline}.block-editor .so-visual-styles,.so-panels-dialog .so-visual-styles{margin:-15px;height:auto}.block-editor .so-visual-styles h3,.so-panels-dialog .so-visual-styles h3{line-height:1em;margin:0;padding:20px 15px;border-bottom:1px solid #ddd}.block-editor .so-visual-styles .style-section-head,.so-panels-dialog .so-visual-styles .style-section-head{background:#fff;padding:15px 10px;border-bottom:1px solid #ddd;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.block-editor .so-visual-styles .style-section-head h4,.so-panels-dialog .so-visual-styles .style-section-head h4{margin:0}.block-editor .so-visual-styles .style-section-fields,.so-panels-dialog .so-visual-styles .style-section-fields{padding:15px;border-bottom:1px solid #ddd;background:#f7f7f7}.block-editor .so-visual-styles .style-section-fields .style-field-wrapper,.so-panels-dialog .so-visual-styles .style-section-fields .style-field-wrapper{margin-bottom:20px}.block-editor .so-visual-styles .style-section-fields .style-field-wrapper:last-child,.so-panels-dialog .so-visual-styles .style-section-fields .style-field-wrapper:last-child{margin-bottom:0}.block-editor .so-visual-styles .style-section-fields .style-field-wrapper>label,.so-panels-dialog .so-visual-styles .style-section-fields .style-field-wrapper>label{font-weight:700;display:block;margin-bottom:3px}.block-editor .so-visual-styles .style-section-fields .style-field-wrapper .style-field,.so-panels-dialog .so-visual-styles .style-section-fields .style-field-wrapper .style-field{zoom:1}.block-editor .so-visual-styles .style-section-fields .style-field-wrapper .style-field:before,.so-panels-dialog .so-visual-styles .style-section-fields .style-field-wrapper .style-field:before{content:"";display:block}.block-editor .so-visual-styles .style-section-fields .style-field-wrapper .style-field:after,.so-panels-dialog .so-visual-styles .style-section-fields .style-field-wrapper .style-field:after{content:"";display:table;clear:both}.block-editor .so-visual-styles .style-section-fields .style-field-wrapper .style-field input,.so-panels-dialog .so-visual-styles .style-section-fields .style-field-wrapper .style-field input{font-size:12px}.block-editor .so-visual-styles .style-input-wrapper,.so-panels-dialog .so-visual-styles .style-input-wrapper{zoom:1}.block-editor .so-visual-styles .style-input-wrapper:before,.so-panels-dialog .so-visual-styles .style-input-wrapper:before{content:"";display:block}.block-editor .so-visual-styles .style-input-wrapper:after,.so-panels-dialog .so-visual-styles .style-input-wrapper:after{content:"";display:table;clear:both}.block-editor .so-visual-styles .style-input-wrapper input,.so-panels-dialog .so-visual-styles .style-input-wrapper input{max-width:100%}.block-editor .so-visual-styles .style-input-wrapper .wp-picker-clear,.so-panels-dialog .so-visual-styles .style-input-wrapper .wp-picker-clear{margin-left:6px;min-height:30px}.block-editor .so-visual-styles .style-field-measurement .measurement-inputs,.so-panels-dialog .so-visual-styles .style-field-measurement .measurement-inputs{overflow:auto;margin:0 -3px 4px}.block-editor .so-visual-styles .style-field-measurement .measurement-wrapper,.so-panels-dialog .so-visual-styles .style-field-measurement .measurement-wrapper{box-sizing:border-box;float:left;width:25%;padding:0 3px}.block-editor .so-visual-styles .style-field-measurement .measurement-wrapper .measurement-value,.so-panels-dialog .so-visual-styles .style-field-measurement .measurement-wrapper .measurement-value{border-width:1px;display:block;max-width:100%}.block-editor .so-visual-styles .style-field-measurement .measurement-wrapper .measurement-value.measurement-top,.so-panels-dialog .so-visual-styles .style-field-measurement .measurement-wrapper .measurement-value.measurement-top{box-shadow:inset 0 2px 1px rgba(0,115,170,.35)}.block-editor .so-visual-styles .style-field-measurement .measurement-wrapper .measurement-value.measurement-right,.so-panels-dialog .so-visual-styles .style-field-measurement .measurement-wrapper .measurement-value.measurement-right{box-shadow:inset -3px 0 2px rgba(0,115,170,.35)}.block-editor .so-visual-styles .style-field-measurement .measurement-wrapper .measurement-value.measurement-bottom,.so-panels-dialog .so-visual-styles .style-field-measurement .measurement-wrapper .measurement-value.measurement-bottom{box-shadow:inset 0 -2px 1px rgba(0,115,170,.35)}.block-editor .so-visual-styles .style-field-measurement .measurement-wrapper .measurement-value.measurement-left,.so-panels-dialog .so-visual-styles .style-field-measurement .measurement-wrapper .measurement-value.measurement-left{box-shadow:inset 3px 0 2px rgba(0,115,170,.35)}.block-editor .so-visual-styles .style-field-measurement .measurement-unit-multiple,.so-panels-dialog .so-visual-styles .style-field-measurement .measurement-unit-multiple{width:100%;display:block}.block-editor .so-visual-styles .style-field-measurement .measurement-unit-single,.so-panels-dialog .so-visual-styles .style-field-measurement .measurement-unit-single{float:right;width:25%}.block-editor .so-visual-styles .style-field-measurement .measurement-value-single,.so-panels-dialog .so-visual-styles .style-field-measurement .measurement-value-single{float:left;width:72%}.block-editor .so-visual-styles .style-field-image .so-image-selector,.so-panels-dialog .so-visual-styles .style-field-image .so-image-selector{display:inline-block;background-color:#f7f7f7;border:1px solid #ccc;height:28px;float:left;border-radius:3px;cursor:pointer;box-shadow:inset 0 1px #fff}.block-editor .so-visual-styles .style-field-image .so-image-selector .current-image,.so-panels-dialog .so-visual-styles .style-field-image .so-image-selector .current-image{height:28px;width:28px;float:left;background:#fff;border-right:1px solid #ccc;background-size:cover;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;-moz-border-radius-topright:0;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:3px;-moz-border-radius-topleft:3px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:3px;border-top-left-radius:3px;background-clip:padding-box}.block-editor .so-visual-styles .style-field-image .so-image-selector .select-image,.so-panels-dialog .so-visual-styles .style-field-image .so-image-selector .select-image{font-size:12px;line-height:28px;float:left;padding:0 8px;color:#555}.block-editor .so-visual-styles .style-field-image .remove-image,.so-panels-dialog .so-visual-styles .style-field-image .remove-image{font-size:12px;margin-top:4px;margin-left:15px;display:inline-block;float:left;color:#666;text-decoration:none}.block-editor .so-visual-styles .style-field-image .remove-image.hidden,.so-panels-dialog .so-visual-styles .style-field-image .remove-image.hidden{display:none}.block-editor .so-visual-styles .style-field-image .image-fallback,.so-panels-dialog .so-visual-styles .style-field-image .image-fallback{margin-top:4px}.block-editor .so-visual-styles .style-field-checkbox label,.so-panels-dialog .so-visual-styles .style-field-checkbox label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.block-editor .so-visual-styles .style-field-radio label,.so-panels-dialog .so-visual-styles .style-field-radio label{display:block}.block-editor .so-visual-styles .so-field-code,.so-panels-dialog .so-visual-styles .so-field-code{font-size:12px;font-family:Courier\ 10 Pitch,Courier,monospace}.block-editor .so-visual-styles .so-description,.so-panels-dialog .so-visual-styles .so-description{color:#999;font-size:12px;margin-top:5px;margin-bottom:0;font-style:italic;clear:both}.block-editor .so-visual-styles.so-cell-styles,.so-panels-dialog .so-visual-styles.so-cell-styles{margin-top:15px}.block-editor .siteorigin-panels-layout-block-container .siteorigin-panels-builder .so-builder-toolbar,.block-editor .so-content .siteorigin-panels-builder .so-builder-toolbar,.so-panels-dialog .siteorigin-panels-layout-block-container .siteorigin-panels-builder .so-builder-toolbar,.so-panels-dialog .so-content .siteorigin-panels-builder .so-builder-toolbar{border:1px solid #dedede;z-index:1}.block-editor .siteorigin-panels-layout-block-container .siteorigin-panels-builder .so-rows-container,.block-editor .so-content .siteorigin-panels-builder .so-rows-container,.so-panels-dialog .siteorigin-panels-layout-block-container .siteorigin-panels-builder .so-rows-container,.so-panels-dialog .so-content .siteorigin-panels-builder .so-rows-container{padding:20px 0 0}.block-editor .siteorigin-panels-layout-block-container .siteorigin-panels-builder .so-panels-welcome-message,.block-editor .so-content .siteorigin-panels-builder .so-panels-welcome-message,.so-panels-dialog .siteorigin-panels-layout-block-container .siteorigin-panels-builder .so-panels-welcome-message,.so-panels-dialog .so-content .siteorigin-panels-builder .so-panels-welcome-message{padding-left:0;padding-right:0;line-height:2.5em}.block-editor .siteorigin-panels-layout-block-container,.so-panels-dialog .siteorigin-panels-layout-block-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:1.4em}.block-editor .siteorigin-panels-layout-block-container ul,.so-panels-dialog .siteorigin-panels-layout-block-container ul{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;list-style:none}.block-editor .siteorigin-panels-block-icon,.so-panels-dialog .siteorigin-panels-block-icon{display:inline-block;background-size:cover;width:20px;height:20px;background-image:url(images/pb-icon.svg)}.block-editor .siteorigin-panels-block-icon.white,.so-panels-dialog .siteorigin-panels-block-icon.white{background-image:url(images/pb-icon_white.svg)}.block-editor .so-panels-block-layout-preview-container .so-panels-spinner-container,.so-panels-dialog .so-panels-block-layout-preview-container .so-panels-spinner-container{text-align:center}.block-editor .so-panels-block-layout-preview-container .so-panels-spinner-container>span,.so-panels-dialog .so-panels-block-layout-preview-container .so-panels-spinner-container>span{display:inline-block}.block-editor .siteorigin-panels-add-layout-block,.so-panels-dialog .siteorigin-panels-add-layout-block{text-align:center;margin-left:auto;margin-right:auto}.block-editor .siteorigin-panels-add-layout-block>button,.so-panels-dialog .siteorigin-panels-add-layout-block>button{height:100%;padding:5px 10px;font-size:16px}.block-editor .siteorigin-panels-add-layout-block>button .siteorigin-panels-block-icon,.so-panels-dialog .siteorigin-panels-add-layout-block>button .siteorigin-panels-block-icon{margin:3px 10px 0 0}.block-editor .so-dropdown-wrapper input[type=button].button-primary,.so-panels-dialog .so-dropdown-wrapper input[type=button].button-primary{width:125px;height:28px}.block-editor .so-dropdown-wrapper .so-dropdown-links-wrapper,.so-panels-dialog .so-dropdown-wrapper .so-dropdown-links-wrapper{display:block;z-index:11;bottom:28px;width:125px}.block-editor .so-dropdown-wrapper .so-dropdown-links-wrapper.hidden,.so-panels-dialog .so-dropdown-wrapper .so-dropdown-links-wrapper.hidden{display:none}.wp-customizer .so-panels-dialog .so-content,.wp-customizer .so-panels-dialog .so-overlay,.wp-customizer .so-panels-dialog .so-title-bar,.wp-customizer .so-panels-dialog .so-toolbar{z-index:500001}.wp-customizer .so-panels-dialog .so-left-sidebar,.wp-customizer .so-panels-dialog .so-right-sidebar,.wp-customizer .so-panels-dialog .so-toolbar{z-index:500002}.so-panels-live-editor>div{position:fixed;z-index:99999;-ms-box-sizing:border-box;box-sizing:border-box}.so-panels-live-editor .live-editor-form{display:none}.so-panels-live-editor .live-editor-collapse{position:fixed;top:18px;left:10px;line-height:1em;cursor:pointer;z-index:100000}.so-panels-live-editor .live-editor-collapse .collapse-icon{float:left;margin:-4px 6px 0 0;border-radius:50%;width:20px;height:20px;overflow:hidden;transition:all .25s ease 0s}.so-panels-live-editor .live-editor-collapse .collapse-icon:before{display:block;content:"\f148";background:#eee;font:normal 20px/1 dashicons;speak:none;padding:0;-webkit-font-smoothing:antialiased}.so-panels-live-editor .live-editor-collapse:hover{color:#0073aa}.so-panels-live-editor .live-editor-collapse:hover .collapse-icon{box-shadow:0 0 3px rgba(30,140,190,.8)}.so-panels-live-editor .so-sidebar-tools{background:#eee;border-bottom:1px solid #ddd;border-right:1px solid #d0d0d0;top:0;left:0;height:46px;width:360px}@media (max-width:980px){.so-panels-live-editor .so-sidebar-tools{width:100%}}.so-panels-live-editor .so-sidebar-tools .live-editor-save{margin:9px 10px 0 5px;float:right}.so-panels-live-editor .so-sidebar-tools .live-editor-close{margin:9px 5px 0 15px;float:right}.so-panels-live-editor .so-sidebar-tools .live-editor-mode{float:right;margin:9px 4px 0 0}.so-panels-live-editor .so-sidebar-tools .live-editor-mode .dashicons{font-size:30px;width:30px;height:30px;cursor:pointer;color:#999}.so-panels-live-editor .so-sidebar-tools .live-editor-mode .dashicons:hover{color:#666}.so-panels-live-editor .so-sidebar-tools .live-editor-mode.so-active .dashicons,.so-panels-live-editor .so-sidebar-tools .live-editor-mode.so-active .dashicons:hover{color:#0073aa}.so-panels-live-editor .so-sidebar{top:46px;left:0;bottom:0;width:360px;overflow-y:auto;background:#f7f7f7;border-right:1px solid #d0d0d0}@media (max-width:980px){.so-panels-live-editor .so-sidebar{width:100%}}.so-panels-live-editor .so-sidebar .siteorigin-panels-builder .so-rows-container{padding:10px 10px 0!important}.so-panels-live-editor .so-preview{top:0;right:0;bottom:0;background-color:#191e23;overflow:scroll}.so-panels-live-editor .so-preview form{display:none}.so-panels-live-editor .so-preview iframe{display:block;width:100%;height:100%;margin:0 auto;transition:all .2s ease}@media (max-width:980px){.so-panels-live-editor .so-preview,.so-panels-live-editor .so-preview-overlay{width:100%;display:none}}@media (min-width:980px){.so-panels-live-editor .so-preview,.so-panels-live-editor .so-preview-overlay{width:calc(100% - 360px)}}.so-panels-live-editor .so-preview-overlay{display:none;opacity:.975;top:0;right:0;bottom:0;background-color:#f4f4f4;cursor:wait}.so-panels-live-editor .so-preview-overlay .so-loading-container{opacity:.6;position:absolute;top:50%;width:200px;padding:2px;border-radius:5px;left:50%;margin-left:-104px;margin-top:-9px;border:2px solid #aaa}.so-panels-live-editor .so-preview-overlay .so-loading-container .so-loading-bar{width:50%;border-radius:3px;height:10px;background:#aaa}.so-panels-live-editor.so-collapsed .live-editor-collapse .collapse-icon{transform:rotate(180deg)}.so-panels-live-editor.so-collapsed .so-sidebar,.so-panels-live-editor.so-collapsed .so-sidebar-tools{display:none}.so-panels-live-editor.so-collapsed .so-preview,.so-panels-live-editor.so-collapsed .so-preview-overlay{width:100%;display:block}.so-panels-loading{background-image:url(images/wpspin_light.gif);background-position:50%;background-repeat:no-repeat}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.so-panels-loading{background-image:url(images/wpspin_light-2x.gif);background-size:16px 16px}}#panels-home-page .switch{margin:0 10px 0 0;float:left;position:relative;display:inline-block;vertical-align:top;width:68px;height:24px;padding:3px;background-color:#fff;border-radius:24px;box-shadow:inset 0 -1px #fff,inset 0 1px 1px rgba(0,0,0,.05);cursor:pointer;background-image:linear-gradient(180deg,#eee,#fff 25px)}#panels-home-page .switch .switch-input{position:absolute;top:0;left:0;opacity:0}#panels-home-page .switch .switch-label{position:relative;display:block;height:inherit;font-size:12px;text-transform:uppercase;background:#eceeef;border-radius:inherit;box-shadow:inset 0 1px 2px rgba(0,0,0,.12),inset 0 0 2px rgba(0,0,0,.15);transition:.15s ease-out;transition-property:opacity background}#panels-home-page .switch .switch-label:after,#panels-home-page .switch .switch-label:before{position:absolute;top:50%;margin-top:-.5em;line-height:1;transition:inherit}#panels-home-page .switch .switch-label:before{content:attr(data-off);right:11px;color:#aaa;text-shadow:0 1px hsla(0,0%,100%,.5)}#panels-home-page .switch .switch-label:after{content:attr(data-on);left:13px;color:#fff;text-shadow:0 1px rgba(0,0,0,.2);opacity:0}#panels-home-page .switch .switch-input:checked~.switch-label{background:#47a8d8;box-shadow:inset 0 1px 2px rgba(0,0,0,.15),inset 0 0 3px rgba(0,0,0,.2)}#panels-home-page .switch .switch-input:checked~.switch-label:before{opacity:0}#panels-home-page .switch .switch-input:checked~.switch-label:after{opacity:1}#panels-home-page .switch .switch-handle{position:absolute;top:4px;left:4px;width:22px;height:22px;background:#fff;border-radius:12px;box-shadow:1px 1px 5px rgba(0,0,0,.2);background-image:linear-gradient(180deg,#fff 40%,#f0f0f0);transition:left .15s ease-out}#panels-home-page .switch .switch-handle:before{content:"";position:absolute;top:50%;left:50%;margin:-7px 0 0 -7px;width:14px;height:14px;background:#f9f9f9;border-radius:7px;box-shadow:inset 0 1px rgba(0,0,0,.02);background-image:linear-gradient(180deg,#eee,#fff)}#panels-home-page .switch .switch-input:checked~.switch-handle{left:48px;box-shadow:-1px 1px 5px rgba(0,0,0,.2)}#panels-home-page .switch .switch-green>.switch-input:checked~.switch-label{background:#4fb845}#panels-home-page #panels-view-as-page{display:inline-block;margin-left:50px}.siteorigin-panels-builder-form .siteorigin-panels-builder{border:1px solid #d0d0d0;background-color:#fff;margin:10px 0}.siteorigin-panels-builder-form .siteorigin-panels-builder.so-panels-loading{min-height:150px}.siteorigin-page-builder-widget .siteorigin-panels-display-builder{display:inline-block!important}.siteorigin-page-builder-widget .siteorigin-panels-no-builder{display:none!important}.so-panels-contextual-menu{border:1px solid silver;background:#f9f9f9;box-shadow:0 1px 1px rgba(0,0,0,.04);outline:none;border-radius:2px;position:absolute;width:180px;top:20px;left:20px;z-index:999999;display:none;overflow-y:auto}.so-panels-contextual-menu,.so-panels-contextual-menu *{font-size:12px}.so-panels-contextual-menu .so-section{border-bottom:1px solid silver}.so-panels-contextual-menu .so-section:last-child{border-bottom:none}.so-panels-contextual-menu .so-section h5{margin:0 0 5px;padding:8px 10px 5px;border-bottom:1px solid #d0d0d0;background:#f6f6f6}.so-panels-contextual-menu .so-section .so-search-wrapper{margin:-5px 0 5px;border-bottom:1px solid #d0d0d0;background:#f4f4f4}.so-panels-contextual-menu .so-section .so-search-wrapper input[type=text]{box-sizing:border-box;display:block;width:100%;margin:0;border:none;padding:5px 10px;background:#fbfbfb}.so-panels-contextual-menu .so-section .so-search-wrapper input[type=text]:active,.so-panels-contextual-menu .so-section .so-search-wrapper input[type=text]:focus{border:none;box-shadow:none;background:#fff}.so-panels-contextual-menu .so-section ul{margin:5px 0 0;padding:0 0 5px}.so-panels-contextual-menu .so-section ul li{cursor:pointer;margin:0;padding:3px 10px;line-height:1.3em}.so-panels-contextual-menu .so-section ul li.so-active,.so-panels-contextual-menu .so-section ul li:hover{background:#f0f0f0;color:#444}.so-panels-contextual-menu .so-section ul li.so-confirm{color:#a00}.so-panels-contextual-menu .so-section ul li.so-confirm.so-active,.so-panels-contextual-menu .so-section ul li.so-confirm:hover{background:#a00;color:#fff}.so-panels-contextual-menu .so-section ul li .dashicons{width:12px;height:12px;font-size:12px;margin:0;float:right;line-height:12px}.so-panels-contextual-menu .so-section .so-no-results{padding:0 10px 5px;display:none;font-style:italic}.so-dropdown-wrapper{position:relative;float:right}.so-dropdown-wrapper .so-dropdown-links-wrapper{position:absolute;padding:6px 0 0}.so-dropdown-wrapper .so-dropdown-links-wrapper ul{margin:0;border:1px solid silver;background:#f9f9f9;border-radius:2px;padding:4px 0;box-shadow:0 2px 2px rgba(0,0,0,.1)}.so-dropdown-wrapper .so-dropdown-links-wrapper ul li{margin:0}.so-dropdown-wrapper .so-dropdown-links-wrapper ul li:first-child{border-top-width:1px}.so-dropdown-wrapper .so-dropdown-links-wrapper ul li a{display:block;padding:2px 8px;text-decoration:none;color:#666;font-size:11px;cursor:pointer;outline:0!important;box-shadow:none}.so-dropdown-wrapper .so-dropdown-links-wrapper ul li a:hover{background:#f0f0f0;color:#444}.so-dropdown-wrapper .so-dropdown-links-wrapper ul li a .dashicons{font-size:16px;margin:0;float:right;line-height:16px}.so-dropdown-wrapper .so-dropdown-links-wrapper .so-pointer{width:12px;height:6px;position:absolute;z-index:12;background:url(images/dropdown-pointer.png);background-size:12px 6px;top:1px;right:18px}.so-panels-icon{font-family:siteorigin-panels-icons;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.so-panels-icon.so-panels-icon-add-row:before{content:"\e900"}.so-panels-icon.so-panels-icon-add-widget:before{content:"\e901"}.so-panels-icon.so-panels-icon-addons:before{content:"\e902"}.so-panels-icon.so-panels-icon-history:before{content:"\e903"}.so-panels-icon.so-panels-icon-layouts:before{content:"\e904"}.so-panels-icon.so-panels-icon-learn:before{content:"\e905"}.so-panels-icon.so-panels-icon-live-editor:before{content:"\e906"}.so-panels-icon.so-panels-icon-move:before{content:"\e907"}.so-panels-icon.so-panels-icon-settings:before{content:"\e908"}#post-status-info.for-siteorigin-panels{margin-top:-21px!important}.siteorigin-page-builder-icon{display:inline-block;background-size:cover;width:20px;height:20px;background-image:url(images/pb-icon.svg)}.siteorigin-page-builder-icon.white{background-image:url(images/pb-icon_white.svg)}
1
+ @font-face{font-family:siteorigin-panels-icons;src:url(icons/panels-icons.eot);src:url(icons/panels-icons.eot) format("embedded-opentype"),url(icons/panels-icons.woff) format("woff"),url(icons/panels-icons.ttf) format("truetype"),url(icons/panels-icons.svg) format("svg");font-weight:400;font-style:normal}#so-panels-panels.attached-to-editor{margin-top:20px}#so-panels-panels.attached-to-editor .handlediv,#so-panels-panels.attached-to-editor .hndle,#so-panels-panels.attached-to-editor .postbox-header{display:none!important}#so-panels-panels.attached-to-editor .inside{margin:0!important;padding:0!important}#so-panels-panels.attached-to-editor .so-toolbar .so-switch-to-standard{display:block}.siteorigin-panels-builder{position:relative}.siteorigin-panels-builder .so-tool-button{padding:6px 7px;text-decoration:none;line-height:1em;float:left;margin-right:2px;display:block;visibility:visible;position:relative;cursor:pointer;border:1px solid #bebebe;background:#eee;background:-o-linear-gradient(#f9f9f9,#eee);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#f9f9f9",endColorstr="#eeeeee",GradientType=0);box-shadow:0 1px 1px rgba(0,0,0,.04),inset 0 1px 0 hsla(0,0%,100%,.5);outline:none;border-radius:2px}.siteorigin-panels-builder .so-tool-button .so-panels-icon{font-size:12px}.siteorigin-panels-builder .so-tool-button span{display:inline-block;color:#666;text-shadow:0 1px 0 #fff;min-width:10px;text-align:center}.siteorigin-panels-builder .so-tool-button:focus,.siteorigin-panels-builder .so-tool-button:hover{background:#fff}.siteorigin-panels-builder .so-tool-button:focus span,.siteorigin-panels-builder .so-tool-button:hover span{color:#444}@media (max-width:782px){.siteorigin-panels-builder .so-tool-button.so-row-settings{margin-right:8px}}.siteorigin-panels-builder .so-builder-toolbar{-ms-box-sizing:border-box;box-sizing:border-box;border-bottom:1px solid #d0d0d0;background:#f5f5f5;line-height:1em;z-index:101;white-space:nowrap;overflow-x:hidden;position:relative;box-shadow:0 1px 1px rgba(0,0,0,.04);top:0;left:0;width:100%;padding:6px 9px;margin-top:0!important;zoom:1}.siteorigin-panels-builder .so-builder-toolbar:before{content:"";display:block}.siteorigin-panels-builder .so-builder-toolbar:after{content:"";display:table;clear:both}.siteorigin-panels-builder .so-builder-toolbar .so-tool-button{display:inline-block;color:#666;padding:2px 10px 2px 8px}.siteorigin-panels-builder .so-builder-toolbar .so-tool-button .so-button-text{margin:3px 0 2px;font-size:11px}.siteorigin-panels-builder .so-builder-toolbar .so-tool-button .so-panels-icon{float:left;margin:3px 7px 2px 0;font-size:14px;color:#747474}.siteorigin-panels-builder .so-builder-toolbar .so-tool-button:hover,.siteorigin-panels-builder .so-builder-toolbar .so-tool-button:hover .so-panels-icon{color:#444}@media (max-width:782px){.siteorigin-panels-builder .so-builder-toolbar .so-tool-button{margin-right:8px}.siteorigin-panels-builder .so-builder-toolbar .so-tool-button .so-button-text{margin:7px 0 2px 5px;font-size:14px}.siteorigin-panels-builder .so-builder-toolbar .so-tool-button .so-panels-icon{margin:3px 0;font-size:21px}}.siteorigin-panels-builder .so-builder-toolbar .so-switch-to-standard{cursor:pointer;float:right;display:none;text-decoration:none;color:#666;padding:5px 6px;border-radius:2px;border:1px solid transparent;font-size:11px}.siteorigin-panels-builder .so-builder-toolbar .so-switch-to-standard:hover{background:#fafafa;border:1px solid #999;color:#444}.siteorigin-panels-builder .so-rows-container{padding:20px 15px 0}.siteorigin-panels-builder .so-rows-container .so-row-color-1.so-row-color{background-color:#cde2ec;border:1px solid #a4cadd}.siteorigin-panels-builder .so-rows-container .so-row-color-1.so-row-color.so-row-color-selected:before{background:#a8cdde}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-1 .so-cells .cell .cell-wrapper{background-color:#cde2ec}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-1 .so-cells .cell.cell-selected .cell-wrapper{background-color:#99c4d8}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-1 .so-cells .cell .resize-handle{background-color:#e7f1f6}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-1 .so-cells .cell .resize-handle:hover{background-color:#dcebf2}.siteorigin-panels-builder .so-rows-container .so-row-color-2.so-row-color{background-color:#f2c2be;border:1px solid #e9968f}.siteorigin-panels-builder .so-rows-container .so-row-color-2.so-row-color.so-row-color-selected:before{background:#ea9a93}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-2 .so-cells .cell .cell-wrapper{background-color:#f2c2be}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-2 .so-cells .cell.cell-selected .cell-wrapper{background-color:#e68a83}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-2 .so-cells .cell .resize-handle{background-color:#f8dedc}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-2 .so-cells .cell .resize-handle:hover{background-color:#f5d2cf}.siteorigin-panels-builder .so-rows-container .so-row-color-3.so-row-color{background-color:#d5ccdf;border:1px solid #b9aac9}.siteorigin-panels-builder .so-rows-container .so-row-color-3.so-row-color.so-row-color-selected:before{background:#bbadcb}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-3 .so-cells .cell .cell-wrapper{background-color:#d5ccdf}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-3 .so-cells .cell.cell-selected .cell-wrapper{background-color:#b1a0c3}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-3 .so-cells .cell .resize-handle{background-color:#e7e2ed}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-3 .so-cells .cell .resize-handle:hover{background-color:#dfd9e7}.siteorigin-panels-builder .so-rows-container .so-row-color-4.so-row-color{background-color:#cae7cd;border:1px solid #a3d6a9}.siteorigin-panels-builder .so-rows-container .so-row-color-4.so-row-color.so-row-color-selected:before{background:#a7d7ac}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-4 .so-cells .cell .cell-wrapper{background-color:#cae7cd}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-4 .so-cells .cell.cell-selected .cell-wrapper{background-color:#99d19f}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-4 .so-cells .cell .resize-handle{background-color:#e3f2e4}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-4 .so-cells .cell .resize-handle:hover{background-color:#d8edda}.siteorigin-panels-builder .so-rows-container .so-row-color-5.so-row-color{background-color:#e2dcb1;border:1px solid #d3ca88}.siteorigin-panels-builder .so-rows-container .so-row-color-5.so-row-color.so-row-color-selected:before{background:#d4cb8c}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-5 .so-cells .cell .cell-wrapper{background-color:#e2dcb1}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-5 .so-cells .cell.cell-selected .cell-wrapper{background-color:#cfc57d}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-5 .so-cells .cell .resize-handle{background-color:#ece8cb}.siteorigin-panels-builder .so-rows-container .so-row-container.so-row-color-5 .so-cells .cell .resize-handle:hover{background-color:#e8e3c0}.siteorigin-panels-builder .so-rows-container h3.so-row-label{display:inline-block;font-size:1em;font-weight:500;color:#474747;margin:0 0 0 4px;line-height:22px;float:left}.siteorigin-panels-builder .so-rows-container .so-row-toolbar{zoom:1;margin-bottom:4px}.siteorigin-panels-builder .so-rows-container .so-row-toolbar:before{content:"";display:block}.siteorigin-panels-builder .so-rows-container .so-row-toolbar:after{content:"";display:table;clear:both}.siteorigin-panels-builder .so-rows-container .so-row-toolbar .so-tool-button{-ms-box-sizing:border-box;box-sizing:border-box;padding:4px;float:right}.siteorigin-panels-builder .so-rows-container .so-row-toolbar .so-tool-button .so-panels-icon{color:#777;font-size:11px;width:11px;height:11px;display:block}.siteorigin-panels-builder .so-rows-container .so-row-toolbar .so-tool-button:hover .so-panels-icon{color:#555}.siteorigin-panels-builder .so-rows-container .so-row-toolbar .so-tool-button.so-row-move{cursor:move}@media (max-width:782px){.siteorigin-panels-builder .so-rows-container .so-row-toolbar{margin-bottom:8px}.siteorigin-panels-builder .so-rows-container .so-row-toolbar .so-tool-button .so-panels-icon{font-size:21px;width:21px;height:21px}}.siteorigin-panels-builder .so-rows-container .so-row-toolbar .so-dropdown-wrapper .so-dropdown-links-wrapper{visibility:hidden;opacity:0;transition:visibility 0s linear 75ms,opacity 75ms linear;z-index:101;right:-10px;top:100%;width:125px}.siteorigin-panels-builder .so-rows-container .so-row-toolbar .so-dropdown-wrapper .so-dropdown-links-wrapper ul li a.so-row-delete{color:#a00}.siteorigin-panels-builder .so-rows-container .so-row-toolbar .so-dropdown-wrapper .so-dropdown-links-wrapper ul li a.so-row-delete:hover{color:#fff;background:#a00}.siteorigin-panels-builder .so-rows-container .so-row-toolbar .so-dropdown-wrapper .so-dropdown-links-wrapper ul li.so-row-colors-container{display:flex;justify-content:space-around;padding:5px}.siteorigin-panels-builder .so-rows-container .so-row-toolbar .so-dropdown-wrapper .so-dropdown-links-wrapper ul li.so-row-colors-container .so-row-color{display:inline-block;cursor:pointer;position:relative;text-align:center;width:14px;height:14px}.siteorigin-panels-builder .so-rows-container .so-row-toolbar .so-dropdown-wrapper .so-dropdown-links-wrapper ul li.so-row-colors-container .so-row-color.so-row-color-selected:before{content:"";display:block;position:absolute;top:2px;bottom:2px;left:2px;right:2px}.siteorigin-panels-builder .so-rows-container .so-row-toolbar .so-dropdown-wrapper:hover .so-dropdown-links-wrapper{visibility:visible;opacity:1;transition-delay:0s}.siteorigin-panels-builder .so-rows-container .ui-sortable-placeholder{visibility:visible!important;background:#f7f7f7;-ms-box-sizing:border-box;box-sizing:border-box}.siteorigin-panels-builder .so-rows-container .so-row-container{margin-bottom:15px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.siteorigin-panels-builder .so-rows-container .so-row-container.ui-sortable-helper{opacity:.9}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells{zoom:1;margin:0 -5px;position:relative;display:flex}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells:before{content:"";display:block}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells:after{content:"";display:table;clear:both}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .ui-resizable-handle.ui-resizable-w{width:10px;left:-11px;cursor:col-resize;background:rgba(0,150,211,.25);transition:background .25s ease-in-out}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .ui-resizable-handle.ui-resizable-w:hover{background:rgba(0,150,211,.1)}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell{-ms-box-sizing:border-box;box-sizing:border-box;position:relative;padding:0 5px}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell.so-first{margin-left:0}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell.so-last{margin-right:0}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .cell-wrapper{background:#e4eff4;padding:7px 7px 1px;height:100%;min-height:63px;transition:background .25s ease-in-out 0s}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell.cell-selected .cell-wrapper{background-size:3px 3px}}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell,.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .cell-wrapper{-ms-box-sizing:border-box;box-sizing:border-box}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget{cursor:move;margin-bottom:6px;background:#f9f9fb;border:1px solid hsla(0,0%,100%,.75);max-height:49px;box-shadow:0 1px 1px rgba(0,0,0,.075);-ms-box-sizing:border-box;box-sizing:border-box}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget.so-widget-no-move{cursor:auto}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget:focus,.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget:hover{border:1px solid hsla(0,0%,100%,.55);background:#fff;box-shadow:0 0 2px rgba(0,0,0,.1)}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget:focus-within .title .actions a,.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget:focus .title .actions a{display:inline-block}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget .so-widget-wrapper{padding:7px 8px;overflow:hidden;position:relative}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget h4{display:block;cursor:pointer;margin:0 15px 3px 0;font-size:1em;font-weight:600;line-height:1.25em;color:#474747;text-shadow:0 1px 0 #fff;white-space:nowrap;-webkit-text-size-adjust:100%}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget h4 span{font-weight:400;display:inline-block;color:#999;text-shadow:0 1px 0 #fff;margin-left:12px;margin-right:5px;font-style:italic}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget.so-widget-no-edit h4{cursor:auto}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget .title .actions{font-size:12px;position:absolute;top:5px;right:7px;cursor:pointer;padding:2px 2px 2px 15px;z-index:10}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget .title .actions:hover{background:#feffff}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget .title .actions:hover a{opacity:1}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget .title .actions a{color:#0073aa;display:none;margin-right:3px;text-decoration:none}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget .title .actions a:hover{color:#00a0d2}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget .title .actions a.widget-delete{color:red}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget .title .actions a.widget-delete:hover{color:#fff;background:red}@media (max-width:782px){.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget .title .actions{position:static;opacity:1;padding-left:0;display:flex;justify-content:space-between}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget .title .actions a{display:inline-block}}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget:hover .title a{display:inline-block;opacity:.5}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget.panel-being-dragged .title .actions{display:none}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget small{display:block;height:16px;overflow:hidden;color:#777}@media (max-width:782px){.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget small{display:none}}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget .form{display:none}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget.so-widget-read-only,.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget.so-widget-read-only:hover{background:#f5f5f5;border:1px solid #a6bac1;box-shadow:none}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget.so-widget-read-only:hover h4,.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget.so-widget-read-only:hover small,.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget.so-widget-read-only h4,.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget.so-widget-read-only small{opacity:.5}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget.so-hovered{background:#3a7096;border:1px solid #39618c;box-shadow:0 2px 2px rgba(0,0,0,.1)}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget.so-hovered h4,.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget.so-hovered small,.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget.so-hovered span{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.85)}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget.so-hovered small{color:#eee}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .widgets-container .so-widget-sortable-highlight{border:1px solid rgba(0,0,0,.075);background:rgba(0,0,0,.025);-ms-box-sizing:border-box;box-sizing:border-box;height:49px;margin-bottom:7px;position:relative;box-shadow:inset 2px 2px 2px rgba(0,0,0,.01)}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell .resize-handle{z-index:100;position:absolute;top:0;width:10px;left:-5px;cursor:col-resize;background:#f6fafb;height:100%;transition:background .25s ease-in-out 0s}.siteorigin-panels-builder .so-rows-container .so-row-container .so-cells .cell:first-child .resize-handle{display:none}.siteorigin-panels-builder .so-panels-welcome-message{text-align:center;padding:0 15px 20px;color:#555;line-height:1.8em}.siteorigin-panels-builder .so-panels-welcome-message .so-message-wrapper{padding:15px 10px;background:#f8f8f8;border:1px solid #e0e0e0}@media only screen and (max-width:782px){.siteorigin-panels-builder .so-panels-welcome-message .so-message-wrapper{font-size:14px}}.siteorigin-panels-builder .so-panels-welcome-message .so-tool-button{font-size:inherit;display:inline-block;float:none;color:#666;padding:5px 10px;margin:0 3px}@media only screen and (max-width:782px){.siteorigin-panels-builder .so-panels-welcome-message .so-tool-button{padding:9px 10px}}.siteorigin-panels-builder .so-panels-welcome-message .so-tool-button .so-panels-icon{color:#777;font-size:.8em}.siteorigin-panels-builder .so-panels-welcome-message .so-tip-wrapper{margin-top:15px;font-size:.95em}.siteorigin-panels-builder.so-display-narrow .so-builder-toolbar{padding:10px;text-decoration:none}.siteorigin-panels-builder.so-display-narrow .so-builder-toolbar>.so-tool-button .so-panels-icon{margin:3px 0}.siteorigin-panels-builder.so-display-narrow .so-builder-toolbar>.so-tool-button.so-learn,.siteorigin-panels-builder.so-display-narrow .so-builder-toolbar>.so-tool-button span.so-button-text{display:none}.siteorigin-panels-builder.so-display-narrow .so-builder-toolbar .so-switch-to-standard{display:none!important}.so-widget.ui-sortable-helper.widget-being-dragged{z-index:500002!important;opacity:.9;pointer-events:none;border:1px solid rgba(0,0,0,.35)!important;cursor:move;margin-bottom:6px;background:#f9f9fb;border:1px solid hsla(0,0%,100%,.75);max-height:49px;box-shadow:0 1px 1px rgba(0,0,0,.075);-ms-box-sizing:border-box;box-sizing:border-box}.so-widget.ui-sortable-helper.widget-being-dragged.so-widget-no-move{cursor:auto}.so-widget.ui-sortable-helper.widget-being-dragged:focus,.so-widget.ui-sortable-helper.widget-being-dragged:hover{border:1px solid hsla(0,0%,100%,.55);background:#fff;box-shadow:0 0 2px rgba(0,0,0,.1)}.so-widget.ui-sortable-helper.widget-being-dragged:focus-within .title .actions a,.so-widget.ui-sortable-helper.widget-being-dragged:focus .title .actions a{display:inline-block}.so-widget.ui-sortable-helper.widget-being-dragged .so-widget-wrapper{padding:7px 8px;overflow:hidden;position:relative}.so-widget.ui-sortable-helper.widget-being-dragged h4{display:block;cursor:pointer;margin:0 15px 3px 0;font-size:1em;font-weight:600;line-height:1.25em;color:#474747;text-shadow:0 1px 0 #fff;white-space:nowrap;-webkit-text-size-adjust:100%}.so-widget.ui-sortable-helper.widget-being-dragged h4 span{font-weight:400;display:inline-block;color:#999;text-shadow:0 1px 0 #fff;margin-left:12px;margin-right:5px;font-style:italic}.so-widget.ui-sortable-helper.widget-being-dragged.so-widget-no-edit h4{cursor:auto}.so-widget.ui-sortable-helper.widget-being-dragged .title .actions{font-size:12px;position:absolute;top:5px;right:7px;cursor:pointer;padding:2px 2px 2px 15px;z-index:10}.so-widget.ui-sortable-helper.widget-being-dragged .title .actions:hover{background:#feffff}.so-widget.ui-sortable-helper.widget-being-dragged .title .actions:hover a{opacity:1}.so-widget.ui-sortable-helper.widget-being-dragged .title .actions a{color:#0073aa;display:none;margin-right:3px;text-decoration:none}.so-widget.ui-sortable-helper.widget-being-dragged .title .actions a:hover{color:#00a0d2}.so-widget.ui-sortable-helper.widget-being-dragged .title .actions a.widget-delete{color:red}.so-widget.ui-sortable-helper.widget-being-dragged .title .actions a.widget-delete:hover{color:#fff;background:red}@media (max-width:782px){.so-widget.ui-sortable-helper.widget-being-dragged .title .actions{position:static;opacity:1;padding-left:0;display:flex;justify-content:space-between}.so-widget.ui-sortable-helper.widget-being-dragged .title .actions a{display:inline-block}}.so-widget.ui-sortable-helper.widget-being-dragged:hover .title a{display:inline-block;opacity:.5}.so-widget.ui-sortable-helper.widget-being-dragged.panel-being-dragged .title .actions{display:none}.so-widget.ui-sortable-helper.widget-being-dragged small{display:block;height:16px;overflow:hidden;color:#777}@media (max-width:782px){.so-widget.ui-sortable-helper.widget-being-dragged small{display:none}}.so-widget.ui-sortable-helper.widget-being-dragged .form{display:none}.so-widget.ui-sortable-helper.widget-being-dragged.so-widget-read-only,.so-widget.ui-sortable-helper.widget-being-dragged.so-widget-read-only:hover{background:#f5f5f5;border:1px solid #a6bac1;box-shadow:none}.so-widget.ui-sortable-helper.widget-being-dragged.so-widget-read-only:hover h4,.so-widget.ui-sortable-helper.widget-being-dragged.so-widget-read-only:hover small,.so-widget.ui-sortable-helper.widget-being-dragged.so-widget-read-only h4,.so-widget.ui-sortable-helper.widget-being-dragged.so-widget-read-only small{opacity:.5}.so-widget.ui-sortable-helper.widget-being-dragged.so-hovered{background:#3a7096;border:1px solid #39618c;box-shadow:0 2px 2px rgba(0,0,0,.1)}.so-widget.ui-sortable-helper.widget-being-dragged.so-hovered h4,.so-widget.ui-sortable-helper.widget-being-dragged.so-hovered small,.so-widget.ui-sortable-helper.widget-being-dragged.so-hovered span{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.85)}.so-widget.ui-sortable-helper.widget-being-dragged.so-hovered small{color:#eee}.widgets-holder-wrap .widget-inside .siteorigin-panels-builder .so-builder-container{padding-top:0}.widgets-holder-wrap .widget-inside .siteorigin-panels-builder .so-rows-container{padding:10px 0 0}.widgets-holder-wrap .widget-inside .siteorigin-panels-builder .so-builder-toolbar{padding-left:15px;padding-right:15px;margin:0 -15px}.block-editor,.so-panels-dialog{-webkit-text-size-adjust:none}.block-editor .so-content,.block-editor .so-left-sidebar,.block-editor .so-overlay,.block-editor .so-right-sidebar,.block-editor .so-title-bar,.block-editor .so-toolbar,.so-panels-dialog .so-content,.so-panels-dialog .so-left-sidebar,.so-panels-dialog .so-overlay,.so-panels-dialog .so-right-sidebar,.so-panels-dialog .so-title-bar,.so-panels-dialog .so-toolbar{z-index:100001;position:fixed;-ms-box-sizing:border-box;box-sizing:border-box;padding:15px}.block-editor .so-content,.block-editor .so-left-sidebar,.block-editor .so-right-sidebar,.so-panels-dialog .so-content,.so-panels-dialog .so-left-sidebar,.so-panels-dialog .so-right-sidebar{overflow-y:auto}.block-editor .so-overlay,.so-panels-dialog .so-overlay{top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5)}.block-editor .so-content,.so-panels-dialog .so-content{background-color:#fdfdfd;overflow-x:hidden;box-shadow:inset 0 2px 2px rgba(0,0,0,.03)}@media (max-width:980px){.block-editor .so-content,.so-panels-dialog .so-content{top:50px;bottom:58px;width:100%}}@media (min-width:980px){.block-editor .so-content,.so-panels-dialog .so-content{top:80px;left:30px;bottom:88px;right:30px}}.block-editor .so-content>:first-child,.so-panels-dialog .so-content>:first-child{margin-top:0}.block-editor .so-content>:last-child,.so-panels-dialog .so-content>:last-child{margin-bottom:0}.block-editor .so-content .so-content-tabs>*,.so-panels-dialog .so-content .so-content-tabs>*{display:none}.block-editor .so-title-bar,.so-panels-dialog .so-title-bar{top:0;height:50px;background-color:#fafafa;border-bottom:1px solid #d8d8d8;padding:0}@media (max-width:980px){.block-editor .so-title-bar,.so-panels-dialog .so-title-bar{width:100%}}@media (min-width:980px){.block-editor .so-title-bar,.so-panels-dialog .so-title-bar{left:30px;right:30px;top:30px}}.block-editor .so-title-bar h3.so-title,.so-panels-dialog .so-title-bar h3.so-title{-ms-box-sizing:border-box;box-sizing:border-box;margin:0 150px 0 -3px;padding:15px;display:inline-block}.block-editor .so-title-bar h3.so-title.so-title-editable:focus,.block-editor .so-title-bar h3.so-title.so-title-editable:hover,.so-panels-dialog .so-title-bar h3.so-title.so-title-editable:focus,.so-panels-dialog .so-title-bar h3.so-title.so-title-editable:hover{outline:none;background-color:#f0f0f0}.block-editor .so-title-bar h3.so-title.so-title-editable:focus,.so-panels-dialog .so-title-bar h3.so-title.so-title-editable:focus{border:1px solid #e4e4e4}.block-editor .so-title-bar input[type=text].so-edit-title,.so-panels-dialog .so-title-bar input[type=text].so-edit-title{margin-top:-3px;margin-left:-3px;display:none;color:#23282d;font-size:1.3em;font-weight:600;border:none;box-shadow:none;background-color:#f0f0f0;padding:4px 5px}.block-editor .so-title-bar h3.so-parent-link,.so-panels-dialog .so-title-bar h3.so-parent-link{cursor:pointer;position:relative;float:left;margin:0 15px 0 0;padding:15px 27px 15px 3px}.block-editor .so-title-bar h3.so-parent-link .so-separator,.so-panels-dialog .so-title-bar h3.so-parent-link .so-separator{position:absolute;top:0;right:0;width:12px;height:50px;display:block;background:url(images/dialog-separator.png) no-repeat}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.block-editor .so-title-bar h3.so-parent-link .so-separator,.so-panels-dialog .so-title-bar h3.so-parent-link .so-separator{background:url(images/dialog-separator@2x.png) no-repeat;background-size:cover}}.block-editor .so-title-bar a,.so-panels-dialog .so-title-bar a{cursor:pointer;position:relative;box-sizing:border-box;width:50px;height:50px;display:inline-block;transition:all .2s ease 0s;background:#fafafa;border-left:1px solid #d8d8d8;border-bottom:1px solid #d8d8d8}.block-editor .so-title-bar a:focus,.block-editor .so-title-bar a:hover,.so-panels-dialog .so-title-bar a:focus,.so-panels-dialog .so-title-bar a:hover{background:#e9e9e9}.block-editor .so-title-bar a:focus .so-dialog-icon,.block-editor .so-title-bar a:hover .so-dialog-icon,.so-panels-dialog .so-title-bar a:focus .so-dialog-icon,.so-panels-dialog .so-title-bar a:hover .so-dialog-icon{color:#333}.block-editor .so-title-bar a .so-dialog-icon,.so-panels-dialog .so-title-bar a .so-dialog-icon{position:absolute;top:50%;left:50%;text-decoration:none;width:20px;height:20px;margin-left:-10px;margin-top:-10px;color:#666;text-align:center}.block-editor .so-title-bar a .so-dialog-icon:before,.so-panels-dialog .so-title-bar a .so-dialog-icon:before{font:400 20px/1em dashicons;top:7px;left:13px}.block-editor .so-title-bar a.so-close,.so-panels-dialog .so-title-bar a.so-close{right:0}.block-editor .so-title-bar a.so-close .so-dialog-icon:before,.so-panels-dialog .so-title-bar a.so-close .so-dialog-icon:before{content:"\f335"}.block-editor .so-title-bar a.so-show-left-sidebar,.so-panels-dialog .so-title-bar a.so-show-left-sidebar{float:left;display:inline;padding:16px 25px;border-right:1px solid #d8d8d8;border-bottom:1px solid #d8d8d8}.block-editor .so-title-bar a.so-show-left-sidebar .so-dialog-icon:before,.so-panels-dialog .so-title-bar a.so-show-left-sidebar .so-dialog-icon:before{content:"\f333"}.block-editor .so-title-bar a.so-show-right-sidebar,.so-panels-dialog .so-title-bar a.so-show-right-sidebar{display:inline-block}.block-editor .so-title-bar a.so-show-right-sidebar .so-dialog-icon:before,.so-panels-dialog .so-title-bar a.so-show-right-sidebar .so-dialog-icon:before{content:"\f100"}.block-editor .so-title-bar a.so-next .so-dialog-icon:before,.so-panels-dialog .so-title-bar a.so-next .so-dialog-icon:before{content:"\f345"}.block-editor .so-title-bar a.so-previous .so-dialog-icon:before,.so-panels-dialog .so-title-bar a.so-previous .so-dialog-icon:before{content:"\f341"}.block-editor .so-title-bar a.so-nav.so-disabled,.so-panels-dialog .so-title-bar a.so-nav.so-disabled{cursor:default;pointer-events:none}.block-editor .so-title-bar a.so-nav.so-disabled .so-dialog-icon,.so-panels-dialog .so-title-bar a.so-nav.so-disabled .so-dialog-icon{color:#ddd}.block-editor .so-title-bar .so-title-bar-buttons,.so-panels-dialog .so-title-bar .so-title-bar-buttons{position:absolute;right:0;top:0}.block-editor .so-title-bar.so-has-left-button.so-has-icon .so-panels-icon,.so-panels-dialog .so-title-bar.so-has-left-button.so-has-icon .so-panels-icon{left:70px}.block-editor .so-title-bar.so-has-icon .so-panels-icon,.so-panels-dialog .so-title-bar.so-has-icon .so-panels-icon{float:left;padding:14px;font-size:22px;line-height:22px;display:inline-block;width:22px;height:22px;text-align:center;color:#666}.block-editor .so-toolbar,.so-panels-dialog .so-toolbar{height:58px;background-color:#fafafa;border-top:1px solid #d8d8d8;z-index:100002}@media (max-width:980px){.block-editor .so-toolbar,.so-panels-dialog .so-toolbar{bottom:0;width:100%}}@media (min-width:980px){.block-editor .so-toolbar,.so-panels-dialog .so-toolbar{left:30px;right:30px;bottom:30px}}.block-editor .so-toolbar .so-status,.so-panels-dialog .so-toolbar .so-status{float:left;padding-top:6px;padding-bottom:6px;font-style:italic;color:#999;line-height:1em}.block-editor .so-toolbar .so-status.so-panels-loading,.so-panels-dialog .so-toolbar .so-status.so-panels-loading{padding-left:26px;background-position:0}.block-editor .so-toolbar .so-status .dashicons-warning,.so-panels-dialog .so-toolbar .so-status .dashicons-warning{color:#a00;vertical-align:middle;margin-right:7px;margin-top:-1px}.block-editor .so-toolbar .so-buttons,.so-panels-dialog .so-toolbar .so-buttons{float:right}.block-editor .so-toolbar .so-buttons .action-buttons,.so-panels-dialog .so-toolbar .so-buttons .action-buttons{position:absolute;left:15px;top:50%;margin-top:-.65em}.block-editor .so-toolbar .so-buttons .action-buttons a,.so-panels-dialog .so-toolbar .so-buttons .action-buttons a{cursor:pointer;display:inline;padding:.2em .5em;line-height:1em;margin-right:.5em;text-decoration:none}.block-editor .so-toolbar .so-buttons .action-buttons .so-delete,.so-panels-dialog .so-toolbar .so-buttons .action-buttons .so-delete{color:#a00}.block-editor .so-toolbar .so-buttons .action-buttons .so-delete:focus,.block-editor .so-toolbar .so-buttons .action-buttons .so-delete:hover,.so-panels-dialog .so-toolbar .so-buttons .action-buttons .so-delete:focus,.so-panels-dialog .so-toolbar .so-buttons .action-buttons .so-delete:hover{background:#a00;color:#fff}.block-editor .so-toolbar .so-buttons .action-buttons .so-duplicate:focus,.block-editor .so-toolbar .so-buttons .action-buttons .so-duplicate:hover,.so-panels-dialog .so-toolbar .so-buttons .action-buttons .so-duplicate:focus,.so-panels-dialog .so-toolbar .so-buttons .action-buttons .so-duplicate:hover{text-decoration:underline}.block-editor .so-left-sidebar,.block-editor .so-right-sidebar,.so-panels-dialog .so-left-sidebar,.so-panels-dialog .so-right-sidebar{background-color:#f3f3f3}.block-editor .so-left-sidebar,.so-panels-dialog .so-left-sidebar{border-right:1px solid #d8d8d8;display:none;width:290px}@media only screen and (max-width:980px){.block-editor .so-left-sidebar,.so-panels-dialog .so-left-sidebar{top:50px;width:100%;z-index:110000;height:calc(100% - 58px - 50px)}}@media (min-width:980px){.block-editor .so-left-sidebar,.so-panels-dialog .so-left-sidebar{top:30px;left:30px;bottom:30px}}.block-editor .so-left-sidebar h4,.so-panels-dialog .so-left-sidebar h4{margin:0 0 20px;font-size:18px}.block-editor .so-left-sidebar .so-sidebar-search,.so-panels-dialog .so-left-sidebar .so-sidebar-search{width:100%;padding:6px;margin-bottom:20px;line-height:normal}.block-editor .so-left-sidebar .so-sidebar-tabs,.so-panels-dialog .so-left-sidebar .so-sidebar-tabs{list-style:none;margin:0 -15px}.block-editor .so-left-sidebar .so-sidebar-tabs li,.so-panels-dialog .so-left-sidebar .so-sidebar-tabs li{margin-bottom:0}.block-editor .so-left-sidebar .so-sidebar-tabs li a,.so-panels-dialog .so-left-sidebar .so-sidebar-tabs li a{padding:7px 16px;display:block;font-size:14px;text-decoration:none;box-shadow:none!important}.block-editor .so-left-sidebar .so-sidebar-tabs li a:hover,.so-panels-dialog .so-left-sidebar .so-sidebar-tabs li a:hover{background:#fff}.block-editor .so-left-sidebar .so-sidebar-tabs li.tab-active a,.so-panels-dialog .so-left-sidebar .so-sidebar-tabs li.tab-active a{color:#555;font-weight:700;background:#fff}.block-editor .so-left-sidebar .so-sidebar-tabs li.tab-active a:hover,.so-panels-dialog .so-left-sidebar .so-sidebar-tabs li.tab-active a:hover{background:#fff}.block-editor .so-right-sidebar,.so-panels-dialog .so-right-sidebar{display:none;border-left:1px solid #d8d8d8}@media (min-width:980px){.block-editor .so-right-sidebar,.so-panels-dialog .so-right-sidebar{top:50px;bottom:58px;top:80px;right:30px;bottom:88px;width:290px}}.block-editor .so-right-sidebar h3,.so-panels-dialog .so-right-sidebar h3{color:#333}.block-editor .so-right-sidebar h3:first-child,.so-panels-dialog .so-right-sidebar h3:first-child{margin-top:0}@media only screen and (max-width:980px){.block-editor .so-right-sidebar,.so-panels-dialog .so-right-sidebar{z-index:110000;top:50px;bottom:58px;height:calc(100% - 58px - 50px);width:100%}}.block-editor .so-sidebar .form-field,.so-panels-dialog .so-sidebar .form-field{margin-bottom:20px}.block-editor .so-sidebar .form-field label,.so-panels-dialog .so-sidebar .form-field label{font-weight:500;font-size:15px;display:block;margin-bottom:10px}.block-editor.so-panels-dialog-has-left-sidebar .so-content,.block-editor.so-panels-dialog-has-left-sidebar .so-title-bar,.block-editor.so-panels-dialog-has-left-sidebar .so-toolbar,.so-panels-dialog.so-panels-dialog-has-left-sidebar .so-content,.so-panels-dialog.so-panels-dialog-has-left-sidebar .so-title-bar,.so-panels-dialog.so-panels-dialog-has-left-sidebar .so-toolbar{left:320px}@media (max-width:980px){.block-editor.so-panels-dialog-has-left-sidebar .so-content,.block-editor.so-panels-dialog-has-left-sidebar .so-title-bar,.block-editor.so-panels-dialog-has-left-sidebar .so-toolbar,.so-panels-dialog.so-panels-dialog-has-left-sidebar .so-content,.so-panels-dialog.so-panels-dialog-has-left-sidebar .so-title-bar,.so-panels-dialog.so-panels-dialog-has-left-sidebar .so-toolbar{left:290px}}.block-editor.so-panels-dialog-has-left-sidebar .so-content,.so-panels-dialog.so-panels-dialog-has-left-sidebar .so-content{box-shadow:inset 2px 2px 2px rgba(0,0,0,.03)}.block-editor.so-panels-dialog-has-left-sidebar .so-left-sidebar,.so-panels-dialog.so-panels-dialog-has-left-sidebar .so-left-sidebar{display:block}@media (min-width:980px){.block-editor.so-panels-dialog-has-right-sidebar .so-content,.so-panels-dialog.so-panels-dialog-has-right-sidebar .so-content{right:320px}}.block-editor.so-panels-dialog-has-right-sidebar .so-right-sidebar,.so-panels-dialog.so-panels-dialog-has-right-sidebar .so-right-sidebar{display:block}.block-editor.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget,.so-panels-dialog.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget{border-radius:2px;border:1px solid #ccc;cursor:pointer;padding:10px;background:#f9f9f9;box-shadow:0 1px 2px rgba(0,0,0,.075),inset 0 1px 0 #fff;margin-bottom:15px}.block-editor.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget:focus,.block-editor.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget:hover,.so-panels-dialog.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget:focus,.so-panels-dialog.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget:hover{border:1px solid #bbb;background:#fff}.block-editor.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget.so-current,.so-panels-dialog.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget.so-current{border-color:#0074a2;background:#2ea2cc;cursor:auto;box-shadow:0 1px 2px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.2)}.block-editor.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget.so-current h3,.so-panels-dialog.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget.so-current h3{color:#fff}.block-editor.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget.so-current small,.so-panels-dialog.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget.so-current small{color:#eee}.block-editor.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget.so-current:hover,.so-panels-dialog.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget.so-current:hover{border-color:#0074a2;background:#2ea2cc}.block-editor.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget:last-child,.so-panels-dialog.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget:last-child{margin-bottom:0}.block-editor.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget h3,.so-panels-dialog.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget h3{margin:0 0 7px;padding:0;height:1.2em;color:#222;font-size:14px}.block-editor.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget small,.so-panels-dialog.so-panels-dialog-edit-widget .so-left-sidebar .so-widgets .so-widget small{font-size:11px;line-height:1.25em;display:block;overflow:hidden;color:#888}.block-editor.so-panels-dialog-add-widget .widget-type-list,.so-panels-dialog.so-panels-dialog-add-widget .widget-type-list{zoom:1;margin:0 -5px -10px;min-height:10px}.block-editor.so-panels-dialog-add-widget .widget-type-list:before,.so-panels-dialog.so-panels-dialog-add-widget .widget-type-list:before{content:"";display:block}.block-editor.so-panels-dialog-add-widget .widget-type-list:after,.so-panels-dialog.so-panels-dialog-add-widget .widget-type-list:after{content:"";display:table;clear:both}.block-editor.so-panels-dialog-add-widget .widget-type-list .widget-type,.so-panels-dialog.so-panels-dialog-add-widget .widget-type-list .widget-type{-ms-user-select:none;-moz-user-select:-moz-none;-webkit-user-select:none;user-select:none;-ms-box-sizing:border-box;box-sizing:border-box;width:25%;padding:0 5px;margin-bottom:10px;float:left}@media (max-width:1280px){.block-editor.so-panels-dialog-add-widget .widget-type-list .widget-type,.so-panels-dialog.so-panels-dialog-add-widget .widget-type-list .widget-type{width:33.333%}}@media (max-width:960px){.block-editor.so-panels-dialog-add-widget .widget-type-list .widget-type,.so-panels-dialog.so-panels-dialog-add-widget .widget-type-list .widget-type{width:50%}}.block-editor.so-panels-dialog-add-widget .widget-type-list .widget-type h3,.so-panels-dialog.so-panels-dialog-add-widget .widget-type-list .widget-type h3{margin:0 0 7px;padding:0;color:#222;font-size:14px}.block-editor.so-panels-dialog-add-widget .widget-type-list .widget-type small,.so-panels-dialog.so-panels-dialog-add-widget .widget-type-list .widget-type small{font-size:11px;min-height:2.5em;line-height:1.25em;display:block;overflow:hidden;color:#888}.block-editor.so-panels-dialog-add-widget .widget-type-list .widget-type .widget-icon,.so-panels-dialog.so-panels-dialog-add-widget .widget-type-list .widget-type .widget-icon{font-size:20px;width:20px;height:20px;color:#666;float:left;margin:-1px .5em 0 0}.block-editor.so-panels-dialog-add-widget .widget-type-list .widget-type-wrapper,.so-panels-dialog.so-panels-dialog-add-widget .widget-type-list .widget-type-wrapper{border:1px solid #ccc;cursor:pointer;padding:10px;background:#f8f8f8;box-shadow:0 1px 2px rgba(0,0,0,.075)}.block-editor.so-panels-dialog-add-widget .widget-type-list .widget-type-wrapper:focus,.block-editor.so-panels-dialog-add-widget .widget-type-list .widget-type-wrapper:hover,.so-panels-dialog.so-panels-dialog-add-widget .widget-type-list .widget-type-wrapper:focus,.so-panels-dialog.so-panels-dialog-add-widget .widget-type-list .widget-type-wrapper:hover{border:1px solid #bbb;background:#fff;box-shadow:0 2px 2px rgba(0,0,0,.075)}.block-editor.so-panels-dialog-row-edit .so-content .row-set-form,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-set-form{zoom:1;padding:8px;border:1px solid #ccc;margin-bottom:20px;background:#f3f3f3}.block-editor.so-panels-dialog-row-edit .so-content .row-set-form:before,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-set-form:before{content:"";display:block}.block-editor.so-panels-dialog-row-edit .so-content .row-set-form:after,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-set-form:after{content:"";display:table;clear:both}.block-editor.so-panels-dialog-row-edit .so-content .row-set-form button,.block-editor.so-panels-dialog-row-edit .so-content .row-set-form input,.block-editor.so-panels-dialog-row-edit .so-content .row-set-form select,.block-editor.so-panels-dialog-row-edit .so-content .row-set-form span,.block-editor.so-panels-dialog-row-edit .so-content .row-set-form strong,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-set-form button,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-set-form input,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-set-form select,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-set-form span,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-set-form strong{display:inline;margin:1px 5px;width:auto;outline:none;box-shadow:none}.block-editor.so-panels-dialog-row-edit .so-content .row-set-form button,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-set-form button{margin-top:2px}.block-editor.so-panels-dialog-row-edit .so-content .row-set-form label,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-set-form label{display:inline}.block-editor.so-panels-dialog-row-edit .so-content .row-preview,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview{margin:0 -6px;height:360px;position:relative;white-space:nowrap}.block-editor.so-panels-dialog-row-edit .so-content .row-preview .preview-cell,.block-editor.so-panels-dialog-row-edit .so-content .row-preview .preview-cell-in,.block-editor.so-panels-dialog-row-edit .so-content .row-preview .preview-cell-weight,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview .preview-cell,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview .preview-cell-in,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview .preview-cell-weight{-ms-box-sizing:border-box;box-sizing:border-box}.block-editor.so-panels-dialog-row-edit .so-content .row-preview .preview-cell,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview .preview-cell{display:inline-block;position:relative;padding:0 6px;cursor:pointer}.block-editor.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in{border:1px solid #bcccd2;min-height:360px;background:#e4eff4;position:relative}.block-editor.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in.cell-selected,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in.cell-selected{background:#cae7f4 url(images/cell-selected.png) repeat;border-color:#9abcc7;box-shadow:0 0 5px rgba(0,0,0,.2)}.block-editor.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in .preview-cell-weight,.block-editor.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in .preview-cell-weight-input,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in .preview-cell-weight,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in .preview-cell-weight-input{position:absolute;font-size:17px;font-weight:700;top:50%;left:50%;width:80px;text-align:center;color:#5e6d72;margin:-.95em 0 0 -40px;padding:10px 0;border:1px solid transparent;line-height:1.4em!important;overflow:hidden;cursor:pointer}.block-editor.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in .preview-cell-weight-input:after,.block-editor.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in .preview-cell-weight:after,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in .preview-cell-weight-input:after,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in .preview-cell-weight:after{content:"%"}.block-editor.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in .preview-cell-weight-input:hover,.block-editor.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in .preview-cell-weight:hover,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in .preview-cell-weight-input:hover,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in .preview-cell-weight:hover{background:#f6f6f6;border:1px solid #d0d0d0}.block-editor.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in .preview-cell-weight-input,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .preview-cell-in .preview-cell-weight-input{background:#f6f6f6;border:1px solid #d0d0d0;box-shadow:none}.block-editor.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .resize-handle,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .resize-handle{z-index:100;position:absolute;top:0;width:12px;left:-6px;cursor:col-resize;background:#e5f4fb;height:360px;transition:background .15s ease-in-out 0s}.block-editor.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .resize-handle.ui-draggable-dragging,.block-editor.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .resize-handle:hover,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .resize-handle.ui-draggable-dragging,.so-panels-dialog.so-panels-dialog-row-edit .so-content .row-preview .preview-cell .resize-handle:hover{background:#b7e0f1}.block-editor.so-panels-dialog-history .so-left-sidebar,.so-panels-dialog.so-panels-dialog-history .so-left-sidebar{padding:0}.block-editor.so-panels-dialog-history .history-entries .history-entry,.so-panels-dialog.so-panels-dialog-history .history-entries .history-entry{padding:10px;background:#f8f8f8;cursor:pointer;border-bottom:1px solid #ccc}.block-editor.so-panels-dialog-history .history-entries .history-entry h3,.so-panels-dialog.so-panels-dialog-history .history-entries .history-entry h3{margin:0 0 .6em;font-size:12px;font-weight:700;color:#444;line-height:1em}.block-editor.so-panels-dialog-history .history-entries .history-entry .timesince,.so-panels-dialog.so-panels-dialog-history .history-entries .history-entry .timesince{color:#999;font-size:11px;line-height:1em}.block-editor.so-panels-dialog-history .history-entries .history-entry:focus,.block-editor.so-panels-dialog-history .history-entries .history-entry:hover,.so-panels-dialog.so-panels-dialog-history .history-entries .history-entry:focus,.so-panels-dialog.so-panels-dialog-history .history-entries .history-entry:hover{background:#f0f0f0}.block-editor.so-panels-dialog-history .history-entries .history-entry.so-selected,.so-panels-dialog.so-panels-dialog-history .history-entries .history-entry.so-selected{background:#eee}.block-editor.so-panels-dialog-history .history-entries .history-entry .count,.so-panels-dialog.so-panels-dialog-history .history-entries .history-entry .count{color:#999}.block-editor.so-panels-dialog-history .so-content,.so-panels-dialog.so-panels-dialog-history .so-content{padding:0;overflow-y:hidden}.block-editor.so-panels-dialog-history .so-content form.history-form,.so-panels-dialog.so-panels-dialog-history .so-content form.history-form{display:none}.block-editor.so-panels-dialog-history .so-content iframe.siteorigin-panels-history-iframe,.so-panels-dialog.so-panels-dialog-history .so-content iframe.siteorigin-panels-history-iframe{width:100%;height:100%}.block-editor.so-panels-dialog-prebuilt-layouts .so-content,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content{padding-left:10px;padding-right:10px}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-error-message,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-error-message{font-size:14px;border:1px solid #ccc;background:#f8f8f8;padding:15px 20px}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .export-file-ui,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .export-file-ui{padding:5px 15px;text-align:right}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui{padding:15px}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui .drag-drop-message,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui .drag-drop-message{display:none}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui.has-drag-drop .drag-drop-message,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui.has-drag-drop .drag-drop-message{display:block}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui p.drag-drop-message,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui p.drag-drop-message{font-size:1em;margin-bottom:0}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui .drag-upload-area,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui .drag-upload-area{display:block;-ms-box-sizing:border-box;box-sizing:border-box;padding:50px 30px;border:4px dashed #e0e0e0;text-align:center;transition:all .25s ease 0s}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui .drag-upload-area.file-dragover,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui .drag-upload-area.file-dragover{background-color:#f2f9fc;border-color:#0074a2}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui .progress-bar,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui .progress-bar{display:none;padding:2px;border:2px solid #2181b1;border-radius:2px;margin-top:20px}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui .progress-bar .progress-percent,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui .progress-bar .progress-percent{height:14px;background-color:#358ebe;border-radius:1px}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui .file-browse-button,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .import-upload-ui .file-browse-button{padding:12px 30px;height:auto}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-browse,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-browse{background:#f3f3f3;border-bottom:1px solid #d0d0d0;margin:-15px -10px 15px;padding:15px;font-weight:700}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items-wrapper,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items-wrapper{display:flex;flex-flow:row wrap}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-no-results,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-no-results{margin:20px 0;padding:0 5px}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item{-ms-box-sizing:border-box;box-sizing:border-box;padding:6px}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-directory-item-wrapper,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-directory-item-wrapper{display:flex;flex-flow:column nowrap;height:100%;box-sizing:border-box;padding:15px 10px;background:#f7f7f7;border:1px solid #d0d0d0;box-shadow:0 1px 1px rgba(0,0,0,.1)}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-directory-item-wrapper:focus,.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-directory-item-wrapper:hover,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-directory-item-wrapper:focus,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-directory-item-wrapper:hover{border:1px solid #bbb;background:#fff;box-shadow:0 2px 2px rgba(0,0,0,.075)}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-title,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-title{font-size:15px;margin:0 0 13px}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-screenshot,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-screenshot{margin-bottom:10px;cursor:pointer}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-screenshot.so-loading,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-screenshot.so-loading{background-image:url(images/wpspin_light.gif);background-position:50%;background-repeat:no-repeat}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-screenshot.so-loading,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-screenshot.so-loading{background-image:url(images/wpspin_light-2x.gif);background-size:16px 16px}}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-screenshot img,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-screenshot img{display:block;width:100%;height:auto}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-screenshot .so-screenshot-wrapper,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-screenshot .so-screenshot-wrapper{display:block;min-height:40px;background:gray;border:1px solid #d0d0d0}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-description,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-description{font-size:.9em;color:#666;margin-bottom:10px;max-height:60px;overflow:hidden}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-bottom,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-bottom{flex:1 auto;position:relative;margin:10px -10px -15px;background:#fcfcfc;border-top:1px solid #d0d0d0}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-bottom .so-title,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-bottom .so-title{margin:0;padding:16px 10px;cursor:pointer}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-bottom .so-buttons,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item .so-bottom .so-buttons{position:absolute;z-index:2;top:0;bottom:0;right:0;height:100%;visibility:hidden;-ms-box-sizing:border-box;box-sizing:border-box;padding:11px 10px 10px 15px;border-left:1px solid #d0d0d0;background:#f6f6f6;box-shadow:-1px 0 1px rgba(0,0,0,.05)}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item:focus .so-buttons,.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item:hover .so-buttons,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item:focus .so-buttons,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item:hover .so-buttons{visibility:visible}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item.selected,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item.selected{background-color:#e5f4fa}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item.selected .so-directory-item-wrapper,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item.selected .so-directory-item-wrapper{background:#deeef4;border-color:#9abcc7}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item.selected .so-bottom,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item.selected .so-bottom{background:#f8fdff;border-color:#bcccd2}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item.selected .so-bottom .so-title,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item.selected .so-bottom .so-title{color:#3e484c}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item.selected .so-bottom .so-buttons,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item.selected .so-bottom .so-buttons{background:#eaf2f6;border-color:#bcccd2}@media only screen and (min-width:1680px){.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item{width:20%}}@media only screen and (max-width:1679px) and (min-width:1280px){.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item{width:25%}}@media only screen and (max-width:1279px) and (min-width:1140px){.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item{width:33.333%}}@media only screen and (max-width:1139px){.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-items .so-directory-item{width:50%}}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-pages,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-pages{margin-top:15px;padding:0 5px}.block-editor.so-panels-dialog-prebuilt-layouts .so-content .so-directory-pages .button-disabled,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-content .so-directory-pages .button-disabled{pointer-events:none}.block-editor.so-panels-dialog-prebuilt-layouts .so-toolbar .so-buttons select.so-layout-position,.so-panels-dialog.so-panels-dialog-prebuilt-layouts .so-toolbar .so-buttons select.so-layout-position{vertical-align:baseline}.block-editor .so-visual-styles,.so-panels-dialog .so-visual-styles{margin:-15px;height:auto}.block-editor .so-visual-styles h3,.so-panels-dialog .so-visual-styles h3{line-height:1em;margin:0;padding:20px 15px;border-bottom:1px solid #ddd}.block-editor .so-visual-styles .style-section-head,.so-panels-dialog .so-visual-styles .style-section-head{background:#fff;padding:15px 10px;border-bottom:1px solid #ddd;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.block-editor .so-visual-styles .style-section-head:focus,.so-panels-dialog .so-visual-styles .style-section-head:focus{background:#eee}.block-editor .so-visual-styles .style-section-head h4,.so-panels-dialog .so-visual-styles .style-section-head h4{margin:0}.block-editor .so-visual-styles .style-section-fields,.so-panels-dialog .so-visual-styles .style-section-fields{padding:15px;border-bottom:1px solid #ddd;background:#f7f7f7}.block-editor .so-visual-styles .style-section-fields .style-field-wrapper,.so-panels-dialog .so-visual-styles .style-section-fields .style-field-wrapper{margin-bottom:20px}.block-editor .so-visual-styles .style-section-fields .style-field-wrapper:last-child,.so-panels-dialog .so-visual-styles .style-section-fields .style-field-wrapper:last-child{margin-bottom:0}.block-editor .so-visual-styles .style-section-fields .style-field-wrapper>label,.so-panels-dialog .so-visual-styles .style-section-fields .style-field-wrapper>label{font-weight:700;display:block;margin-bottom:3px}.block-editor .so-visual-styles .style-section-fields .style-field-wrapper .style-field,.so-panels-dialog .so-visual-styles .style-section-fields .style-field-wrapper .style-field{zoom:1}.block-editor .so-visual-styles .style-section-fields .style-field-wrapper .style-field:before,.so-panels-dialog .so-visual-styles .style-section-fields .style-field-wrapper .style-field:before{content:"";display:block}.block-editor .so-visual-styles .style-section-fields .style-field-wrapper .style-field:after,.so-panels-dialog .so-visual-styles .style-section-fields .style-field-wrapper .style-field:after{content:"";display:table;clear:both}.block-editor .so-visual-styles .style-section-fields .style-field-wrapper .style-field input,.so-panels-dialog .so-visual-styles .style-section-fields .style-field-wrapper .style-field input{font-size:12px}.block-editor .so-visual-styles .style-input-wrapper,.so-panels-dialog .so-visual-styles .style-input-wrapper{zoom:1}.block-editor .so-visual-styles .style-input-wrapper:before,.so-panels-dialog .so-visual-styles .style-input-wrapper:before{content:"";display:block}.block-editor .so-visual-styles .style-input-wrapper:after,.so-panels-dialog .so-visual-styles .style-input-wrapper:after{content:"";display:table;clear:both}.block-editor .so-visual-styles .style-input-wrapper input,.so-panels-dialog .so-visual-styles .style-input-wrapper input{max-width:100%}.block-editor .so-visual-styles .style-input-wrapper .wp-picker-clear,.so-panels-dialog .so-visual-styles .style-input-wrapper .wp-picker-clear{margin-left:6px;min-height:30px}.block-editor .so-visual-styles .style-field-measurement .measurement-inputs,.so-panels-dialog .so-visual-styles .style-field-measurement .measurement-inputs{overflow:auto;margin:0 -3px 4px}.block-editor .so-visual-styles .style-field-measurement .measurement-wrapper,.so-panels-dialog .so-visual-styles .style-field-measurement .measurement-wrapper{box-sizing:border-box;float:left;width:25%;padding:0 3px}.block-editor .so-visual-styles .style-field-measurement .measurement-wrapper .measurement-value,.so-panels-dialog .so-visual-styles .style-field-measurement .measurement-wrapper .measurement-value{border-width:1px;display:block;max-width:100%}.block-editor .so-visual-styles .style-field-measurement .measurement-wrapper .measurement-value.measurement-top,.so-panels-dialog .so-visual-styles .style-field-measurement .measurement-wrapper .measurement-value.measurement-top{box-shadow:inset 0 2px 1px rgba(0,115,170,.35)}.block-editor .so-visual-styles .style-field-measurement .measurement-wrapper .measurement-value.measurement-right,.so-panels-dialog .so-visual-styles .style-field-measurement .measurement-wrapper .measurement-value.measurement-right{box-shadow:inset -3px 0 2px rgba(0,115,170,.35)}.block-editor .so-visual-styles .style-field-measurement .measurement-wrapper .measurement-value.measurement-bottom,.so-panels-dialog .so-visual-styles .style-field-measurement .measurement-wrapper .measurement-value.measurement-bottom{box-shadow:inset 0 -2px 1px rgba(0,115,170,.35)}.block-editor .so-visual-styles .style-field-measurement .measurement-wrapper .measurement-value.measurement-left,.so-panels-dialog .so-visual-styles .style-field-measurement .measurement-wrapper .measurement-value.measurement-left{box-shadow:inset 3px 0 2px rgba(0,115,170,.35)}.block-editor .so-visual-styles .style-field-measurement .measurement-unit-multiple,.so-panels-dialog .so-visual-styles .style-field-measurement .measurement-unit-multiple{width:100%;display:block}.block-editor .so-visual-styles .style-field-measurement .measurement-unit-single,.so-panels-dialog .so-visual-styles .style-field-measurement .measurement-unit-single{float:right;width:25%}.block-editor .so-visual-styles .style-field-measurement .measurement-value-single,.so-panels-dialog .so-visual-styles .style-field-measurement .measurement-value-single{float:left;width:72%}.block-editor .so-visual-styles .style-field-image .so-image-selector,.so-panels-dialog .so-visual-styles .style-field-image .so-image-selector{display:inline-block;background-color:#f7f7f7;border:1px solid #ccc;height:28px;float:left;border-radius:3px;cursor:pointer;box-shadow:inset 0 1px #fff}.block-editor .so-visual-styles .style-field-image .so-image-selector:focus,.so-panels-dialog .so-visual-styles .style-field-image .so-image-selector:focus{border:1px solid #007cba;box-shadow:0 0 0 1px #007cba}.block-editor .so-visual-styles .style-field-image .so-image-selector .current-image,.so-panels-dialog .so-visual-styles .style-field-image .so-image-selector .current-image{height:28px;width:28px;float:left;background:#fff;border-right:1px solid #ccc;background-size:cover;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;-moz-border-radius-topright:0;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:3px;-moz-border-radius-topleft:3px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:3px;border-top-left-radius:3px;background-clip:padding-box}.block-editor .so-visual-styles .style-field-image .so-image-selector .select-image,.so-panels-dialog .so-visual-styles .style-field-image .so-image-selector .select-image{font-size:12px;line-height:28px;float:left;padding:0 8px;color:#555}.block-editor .so-visual-styles .style-field-image .remove-image,.so-panels-dialog .so-visual-styles .style-field-image .remove-image{font-size:12px;margin-top:4px;margin-left:15px;display:inline-block;float:left;color:#666;text-decoration:none}.block-editor .so-visual-styles .style-field-image .remove-image.hidden,.so-panels-dialog .so-visual-styles .style-field-image .remove-image.hidden{display:none}.block-editor .so-visual-styles .style-field-image .image-fallback,.so-panels-dialog .so-visual-styles .style-field-image .image-fallback{margin-top:4px}.block-editor .so-visual-styles .style-field-checkbox label,.so-panels-dialog .so-visual-styles .style-field-checkbox label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.block-editor .so-visual-styles .style-field-radio label,.so-panels-dialog .so-visual-styles .style-field-radio label{display:block}.block-editor .so-visual-styles .so-field-code,.so-panels-dialog .so-visual-styles .so-field-code{font-size:12px;font-family:Courier\ 10 Pitch,Courier,monospace}.block-editor .so-visual-styles .so-description,.so-panels-dialog .so-visual-styles .so-description{color:#999;font-size:12px;margin-top:5px;margin-bottom:0;font-style:italic;clear:both}.block-editor .so-visual-styles.so-cell-styles,.so-panels-dialog .so-visual-styles.so-cell-styles{margin-top:15px}.block-editor .siteorigin-panels-layout-block-container .siteorigin-panels-builder .so-builder-toolbar,.block-editor .so-content .siteorigin-panels-builder .so-builder-toolbar,.so-panels-dialog .siteorigin-panels-layout-block-container .siteorigin-panels-builder .so-builder-toolbar,.so-panels-dialog .so-content .siteorigin-panels-builder .so-builder-toolbar{border:1px solid #dedede;z-index:1}.block-editor .siteorigin-panels-layout-block-container .siteorigin-panels-builder .so-rows-container,.block-editor .so-content .siteorigin-panels-builder .so-rows-container,.so-panels-dialog .siteorigin-panels-layout-block-container .siteorigin-panels-builder .so-rows-container,.so-panels-dialog .so-content .siteorigin-panels-builder .so-rows-container{padding:20px 0 0}.block-editor .siteorigin-panels-layout-block-container .siteorigin-panels-builder .so-panels-welcome-message,.block-editor .so-content .siteorigin-panels-builder .so-panels-welcome-message,.so-panels-dialog .siteorigin-panels-layout-block-container .siteorigin-panels-builder .so-panels-welcome-message,.so-panels-dialog .so-content .siteorigin-panels-builder .so-panels-welcome-message{padding-left:0;padding-right:0;line-height:2.5em}.block-editor .siteorigin-panels-layout-block-container,.so-panels-dialog .siteorigin-panels-layout-block-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:1.4em}.block-editor .siteorigin-panels-layout-block-container ul,.so-panels-dialog .siteorigin-panels-layout-block-container ul{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;list-style:none}.block-editor .siteorigin-panels-block-icon,.so-panels-dialog .siteorigin-panels-block-icon{display:inline-block;background-size:cover;width:20px;height:20px;background-image:url(images/pb-icon.svg)}.block-editor .siteorigin-panels-block-icon.white,.so-panels-dialog .siteorigin-panels-block-icon.white{background-image:url(images/pb-icon_white.svg)}.block-editor .so-panels-block-layout-preview-container .so-panels-spinner-container,.so-panels-dialog .so-panels-block-layout-preview-container .so-panels-spinner-container{text-align:center}.block-editor .so-panels-block-layout-preview-container .so-panels-spinner-container>span,.so-panels-dialog .so-panels-block-layout-preview-container .so-panels-spinner-container>span{display:inline-block}.block-editor .siteorigin-panels-add-layout-block,.so-panels-dialog .siteorigin-panels-add-layout-block{text-align:center;margin-left:auto;margin-right:auto}.block-editor .siteorigin-panels-add-layout-block>button,.so-panels-dialog .siteorigin-panels-add-layout-block>button{padding:5px 10px;font-size:16px}.block-editor .siteorigin-panels-add-layout-block>button .siteorigin-panels-block-icon,.so-panels-dialog .siteorigin-panels-add-layout-block>button .siteorigin-panels-block-icon{margin:3px 10px 0 0}.block-editor .so-dropdown-wrapper input[type=button].button-primary,.so-panels-dialog .so-dropdown-wrapper input[type=button].button-primary{width:125px;height:28px}.block-editor .so-dropdown-wrapper .so-dropdown-links-wrapper,.so-panels-dialog .so-dropdown-wrapper .so-dropdown-links-wrapper{display:block;z-index:11;bottom:28px;width:125px}.block-editor .so-dropdown-wrapper .so-dropdown-links-wrapper.hidden,.so-panels-dialog .so-dropdown-wrapper .so-dropdown-links-wrapper.hidden{display:none}.wp-customizer .so-panels-dialog .so-content,.wp-customizer .so-panels-dialog .so-overlay,.wp-customizer .so-panels-dialog .so-title-bar,.wp-customizer .so-panels-dialog .so-toolbar{z-index:500001}.wp-customizer .so-panels-dialog .so-left-sidebar,.wp-customizer .so-panels-dialog .so-right-sidebar,.wp-customizer .so-panels-dialog .so-toolbar{z-index:500002}.so-panels-live-editor>div{position:fixed;z-index:99999;-ms-box-sizing:border-box;box-sizing:border-box}.so-panels-live-editor .live-editor-form{display:none}.so-panels-live-editor .live-editor-collapse{position:fixed;top:18px;left:10px;line-height:1em;cursor:pointer;z-index:100000}.so-panels-live-editor .live-editor-collapse .collapse-icon{float:left;margin:-4px 6px 0 0;border-radius:50%;width:20px;height:20px;overflow:hidden;transition:all .25s ease 0s}.so-panels-live-editor .live-editor-collapse .collapse-icon:before{display:block;content:"\f148";background:#eee;font:normal 20px/1 dashicons;speak:none;padding:0;-webkit-font-smoothing:antialiased}.so-panels-live-editor .live-editor-collapse:hover{color:#0073aa}.so-panels-live-editor .live-editor-collapse:hover .collapse-icon{box-shadow:0 0 3px rgba(30,140,190,.8)}.so-panels-live-editor .so-sidebar-tools{background:#eee;border-bottom:1px solid #ddd;border-right:1px solid #d0d0d0;top:0;left:0;height:46px;width:360px}@media (max-width:980px){.so-panels-live-editor .so-sidebar-tools{width:100%}}.so-panels-live-editor .so-sidebar-tools .live-editor-save{margin:9px 10px 0 5px;float:right}.so-panels-live-editor .so-sidebar-tools .live-editor-close{margin:9px 5px 0 15px;float:right}.so-panels-live-editor .so-sidebar-tools .live-editor-mode{float:right;margin:9px 4px 0 0}.so-panels-live-editor .so-sidebar-tools .live-editor-mode .dashicons{font-size:30px;width:30px;height:30px;cursor:pointer;color:#999}.so-panels-live-editor .so-sidebar-tools .live-editor-mode .dashicons:focus,.so-panels-live-editor .so-sidebar-tools .live-editor-mode .dashicons:hover{color:#666}.so-panels-live-editor .so-sidebar-tools .live-editor-mode.so-active .dashicons,.so-panels-live-editor .so-sidebar-tools .live-editor-mode.so-active .dashicons:hover{color:#0073aa}.so-panels-live-editor .so-sidebar{top:46px;left:0;bottom:0;width:360px;overflow-y:auto;background:#f7f7f7;border-right:1px solid #d0d0d0}@media (max-width:980px){.so-panels-live-editor .so-sidebar{width:100%}}.so-panels-live-editor .so-sidebar .siteorigin-panels-builder .so-rows-container{padding:10px 10px 0!important}.so-panels-live-editor .so-preview{top:0;right:0;bottom:0;background-color:#191e23;overflow:scroll}.so-panels-live-editor .so-preview form{display:none}.so-panels-live-editor .so-preview iframe{display:block;width:100%;height:100%;margin:0 auto;transition:all .2s ease}@media (max-width:980px){.so-panels-live-editor .so-preview,.so-panels-live-editor .so-preview-overlay{width:100%;display:none}}@media (min-width:980px){.so-panels-live-editor .so-preview,.so-panels-live-editor .so-preview-overlay{width:calc(100% - 360px)}}.so-panels-live-editor .so-preview-overlay{display:none;opacity:.975;top:0;right:0;bottom:0;background-color:#f4f4f4;cursor:wait}.so-panels-live-editor .so-preview-overlay .so-loading-container{opacity:.6;position:absolute;top:50%;width:200px;padding:2px;border-radius:5px;left:50%;margin-left:-104px;margin-top:-9px;border:2px solid #aaa}.so-panels-live-editor .so-preview-overlay .so-loading-container .so-loading-bar{width:50%;border-radius:3px;height:10px;background:#aaa}.so-panels-live-editor.so-collapsed .live-editor-collapse .collapse-icon{transform:rotate(180deg)}.so-panels-live-editor.so-collapsed .so-sidebar,.so-panels-live-editor.so-collapsed .so-sidebar-tools{display:none}.so-panels-live-editor.so-collapsed .so-preview,.so-panels-live-editor.so-collapsed .so-preview-overlay{width:100%;display:block}.so-panels-loading{background-image:url(images/wpspin_light.gif);background-position:50%;background-repeat:no-repeat}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.so-panels-loading{background-image:url(images/wpspin_light-2x.gif);background-size:16px 16px}}#panels-home-page .switch{margin:0 10px 0 0;float:left;position:relative;display:inline-block;vertical-align:top;width:68px;height:24px;padding:3px;background-color:#fff;border-radius:24px;box-shadow:inset 0 -1px #fff,inset 0 1px 1px rgba(0,0,0,.05);cursor:pointer;background-image:linear-gradient(180deg,#eee,#fff 25px)}#panels-home-page .switch .switch-input{position:absolute;top:0;left:0;opacity:0}#panels-home-page .switch .switch-label{position:relative;display:block;height:inherit;font-size:12px;text-transform:uppercase;background:#eceeef;border-radius:inherit;box-shadow:inset 0 1px 2px rgba(0,0,0,.12),inset 0 0 2px rgba(0,0,0,.15);transition:.15s ease-out;transition-property:opacity background}#panels-home-page .switch .switch-label:after,#panels-home-page .switch .switch-label:before{position:absolute;top:50%;margin-top:-.5em;line-height:1;transition:inherit}#panels-home-page .switch .switch-label:before{content:attr(data-off);right:11px;color:#aaa;text-shadow:0 1px hsla(0,0%,100%,.5)}#panels-home-page .switch .switch-label:after{content:attr(data-on);left:13px;color:#fff;text-shadow:0 1px rgba(0,0,0,.2);opacity:0}#panels-home-page .switch .switch-input:checked~.switch-label{background:#47a8d8;box-shadow:inset 0 1px 2px rgba(0,0,0,.15),inset 0 0 3px rgba(0,0,0,.2)}#panels-home-page .switch .switch-input:checked~.switch-label:before{opacity:0}#panels-home-page .switch .switch-input:checked~.switch-label:after{opacity:1}#panels-home-page .switch .switch-handle{position:absolute;top:4px;left:4px;width:22px;height:22px;background:#fff;border-radius:12px;box-shadow:1px 1px 5px rgba(0,0,0,.2);background-image:linear-gradient(180deg,#fff 40%,#f0f0f0);transition:left .15s ease-out}#panels-home-page .switch .switch-handle:before{content:"";position:absolute;top:50%;left:50%;margin:-7px 0 0 -7px;width:14px;height:14px;background:#f9f9f9;border-radius:7px;box-shadow:inset 0 1px rgba(0,0,0,.02);background-image:linear-gradient(180deg,#eee,#fff)}#panels-home-page .switch .switch-input:checked~.switch-handle{left:48px;box-shadow:-1px 1px 5px rgba(0,0,0,.2)}#panels-home-page .switch .switch-green>.switch-input:checked~.switch-label{background:#4fb845}#panels-home-page #panels-view-as-page{display:inline-block;margin-left:50px}.siteorigin-panels-builder-form .siteorigin-panels-builder{border:1px solid #d0d0d0;background-color:#fff;margin:10px 0}.siteorigin-panels-builder-form .siteorigin-panels-builder.so-panels-loading{min-height:150px}.siteorigin-page-builder-widget .siteorigin-panels-display-builder{display:inline-block!important}.siteorigin-page-builder-widget .siteorigin-panels-no-builder{display:none!important}.so-panels-contextual-menu{border:1px solid silver;background:#f9f9f9;box-shadow:0 1px 1px rgba(0,0,0,.04);outline:none;border-radius:2px;position:absolute;width:180px;top:20px;left:20px;z-index:999999;display:none;overflow-y:auto}.so-panels-contextual-menu,.so-panels-contextual-menu *{font-size:12px}.so-panels-contextual-menu .so-section{border-bottom:1px solid silver}.so-panels-contextual-menu .so-section:last-child{border-bottom:none}.so-panels-contextual-menu .so-section h5{margin:0 0 5px;padding:8px 10px 5px;border-bottom:1px solid #d0d0d0;background:#f6f6f6}.so-panels-contextual-menu .so-section .so-search-wrapper{margin:-5px 0 5px;border-bottom:1px solid #d0d0d0;background:#f4f4f4}.so-panels-contextual-menu .so-section .so-search-wrapper input[type=text]{box-sizing:border-box;display:block;width:100%;margin:0;border:none;padding:5px 10px;background:#fbfbfb}.so-panels-contextual-menu .so-section .so-search-wrapper input[type=text]:active,.so-panels-contextual-menu .so-section .so-search-wrapper input[type=text]:focus{border:none;box-shadow:none;background:#fff}.so-panels-contextual-menu .so-section ul{margin:5px 0 0;padding:0 0 5px}.so-panels-contextual-menu .so-section ul li{cursor:pointer;margin:0;padding:3px 10px;line-height:1.3em}.so-panels-contextual-menu .so-section ul li.so-active,.so-panels-contextual-menu .so-section ul li:focus,.so-panels-contextual-menu .so-section ul li:hover{background:#f0f0f0;color:#444}.so-panels-contextual-menu .so-section ul li.so-confirm{color:#a00}.so-panels-contextual-menu .so-section ul li.so-confirm.so-active,.so-panels-contextual-menu .so-section ul li.so-confirm:hover{background:#a00;color:#fff}.so-panels-contextual-menu .so-section ul li .dashicons{width:12px;height:12px;font-size:12px;margin:0;float:right;line-height:12px}.so-panels-contextual-menu .so-section .so-no-results{padding:0 10px 5px;display:none;font-style:italic}.so-dropdown-wrapper{position:relative;float:right}.so-dropdown-wrapper .so-dropdown-links-wrapper{position:absolute;padding:6px 0 0}.so-dropdown-wrapper .so-dropdown-links-wrapper ul{margin:0;border:1px solid silver;background:#f9f9f9;border-radius:2px;padding:4px 0;box-shadow:0 2px 2px rgba(0,0,0,.1)}.so-dropdown-wrapper .so-dropdown-links-wrapper ul li{margin:0}.so-dropdown-wrapper .so-dropdown-links-wrapper ul li:first-child{border-top-width:1px}.so-dropdown-wrapper .so-dropdown-links-wrapper ul li a{display:block;padding:2px 8px;text-decoration:none;color:#666;font-size:11px;cursor:pointer;outline:0!important;box-shadow:none}.so-dropdown-wrapper .so-dropdown-links-wrapper ul li a:focus,.so-dropdown-wrapper .so-dropdown-links-wrapper ul li a:hover{background:#f0f0f0;color:#444}.so-dropdown-wrapper .so-dropdown-links-wrapper ul li a .dashicons{font-size:16px;margin:0;float:right;line-height:16px}.so-dropdown-wrapper .so-dropdown-links-wrapper .so-pointer{width:12px;height:6px;position:absolute;z-index:12;background:url(images/dropdown-pointer.png);background-size:12px 6px;top:1px;right:18px}.so-panels-icon{font-family:siteorigin-panels-icons;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.so-panels-icon.so-panels-icon-add-row:before{content:"\e900"}.so-panels-icon.so-panels-icon-add-widget:before{content:"\e901"}.so-panels-icon.so-panels-icon-addons:before{content:"\e902"}.so-panels-icon.so-panels-icon-history:before{content:"\e903"}.so-panels-icon.so-panels-icon-layouts:before{content:"\e904"}.so-panels-icon.so-panels-icon-learn:before{content:"\e905"}.so-panels-icon.so-panels-icon-live-editor:before{content:"\e906"}.so-panels-icon.so-panels-icon-move:before{content:"\e907"}.so-panels-icon.so-panels-icon-settings:before{content:"\e908"}#post-status-info.for-siteorigin-panels{margin-top:-21px!important}.siteorigin-page-builder-icon{display:inline-block;background-size:cover;width:20px;height:20px;background-image:url(images/pb-icon.svg)}.siteorigin-page-builder-icon.white{background-image:url(images/pb-icon_white.svg)}
css/front-flex.css CHANGED
@@ -9,6 +9,23 @@
9
  -webkit-justify-content: space-between;
10
  justify-content: space-between;
11
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  .panel-layout.panel-is-rtl .panel-grid.panel-no-style,
13
  .panel-layout.panel-is-rtl .panel-grid.panel-has-style > .panel-row-style {
14
  -ms-flex-direction: row-reverse;
9
  -webkit-justify-content: space-between;
10
  justify-content: space-between;
11
  }
12
+ .panel-grid .so-parallax {
13
+ position: relative;
14
+ }
15
+ .panel-grid .so-parallax > *:not(.simpleParallax) {
16
+ position: relative;
17
+ z-index: 1;
18
+ }
19
+ .panel-grid .so-parallax .simpleParallax,
20
+ .panel-grid .so-parallax img[data-siteorigin-parallax] {
21
+ bottom: 0;
22
+ left: 0;
23
+ position: absolute;
24
+ right: 0;
25
+ top: 0;
26
+ width: 100%;
27
+ z-index: 0;
28
+ }
29
  .panel-layout.panel-is-rtl .panel-grid.panel-no-style,
30
  .panel-layout.panel-is-rtl .panel-grid.panel-has-style > .panel-row-style {
31
  -ms-flex-direction: row-reverse;
css/front-flex.min.css CHANGED
@@ -1 +1 @@
1
- .panel-grid.panel-has-style>.panel-row-style,.panel-grid.panel-no-style{display:flex;-ms-flex-wrap:wrap;flex-wrap:nowrap;-ms-justify-content:space-between;justify-content:space-between}.panel-layout.panel-is-rtl .panel-grid.panel-has-style>.panel-row-style,.panel-layout.panel-is-rtl .panel-grid.panel-no-style{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.panel-grid-cell{-ms-box-sizing:border-box;box-sizing:border-box}.panel-grid-cell .panel-cell-style{height:100%}.panel-grid-cell .so-panel{zoom:1}.panel-grid-cell .so-panel:before{content:"";display:block}.panel-grid-cell .so-panel:after{content:"";display:table;clear:both}.panel-grid-cell .panel-last-child{margin-bottom:0}.panel-grid-cell .widget-title{margin-top:0}body.siteorigin-panels-before-js{overflow-x:hidden}body.siteorigin-panels-before-js .siteorigin-panels-stretch{margin-right:-1000px!important;margin-left:-1000px!important;padding-right:1000px!important;padding-left:1000px!important}
1
+ .panel-grid.panel-has-style>.panel-row-style,.panel-grid.panel-no-style{display:flex;-ms-flex-wrap:wrap;flex-wrap:nowrap;-ms-justify-content:space-between;justify-content:space-between}.panel-grid .so-parallax{position:relative}.panel-grid .so-parallax>:not(.simpleParallax){position:relative;z-index:1}.panel-grid .so-parallax .simpleParallax,.panel-grid .so-parallax img[data-siteorigin-parallax]{bottom:0;left:0;position:absolute;right:0;top:0;width:100%;z-index:0}.panel-layout.panel-is-rtl .panel-grid.panel-has-style>.panel-row-style,.panel-layout.panel-is-rtl .panel-grid.panel-no-style{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.panel-grid-cell{-ms-box-sizing:border-box;box-sizing:border-box}.panel-grid-cell .panel-cell-style{height:100%}.panel-grid-cell .so-panel{zoom:1}.panel-grid-cell .so-panel:before{content:"";display:block}.panel-grid-cell .so-panel:after{content:"";display:table;clear:both}.panel-grid-cell .panel-last-child{margin-bottom:0}.panel-grid-cell .widget-title{margin-top:0}body.siteorigin-panels-before-js{overflow-x:hidden}body.siteorigin-panels-before-js .siteorigin-panels-stretch{margin-right:-1000px!important;margin-left:-1000px!important;padding-right:1000px!important;padding-left:1000px!important}
css/front-legacy.css CHANGED
@@ -10,6 +10,23 @@
10
  display: table;
11
  clear: both;
12
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  .panel-grid-cell {
14
  -ms-box-sizing: border-box;
15
  -moz-box-sizing: border-box;
10
  display: table;
11
  clear: both;
12
  }
13
+ .panel-grid .so-parallax {
14
+ position: relative;
15
+ }
16
+ .panel-grid .so-parallax > div:not(.simpleParallax) {
17
+ position: relative;
18
+ z-index: 1;
19
+ }
20
+ .panel-grid .so-parallax .simpleParallax,
21
+ .panel-grid .so-parallax img[data-siteorigin-parallax] {
22
+ bottom: 0;
23
+ left: 0;
24
+ position: absolute;
25
+ right: 0;
26
+ top: 0;
27
+ width: 100%;
28
+ z-index: 0;
29
+ }
30
  .panel-grid-cell {
31
  -ms-box-sizing: border-box;
32
  -moz-box-sizing: border-box;
css/front-legacy.min.css CHANGED
@@ -1 +1 @@
1
- .panel-grid{zoom:1}.panel-grid:before{content:"";display:block}.panel-grid:after{content:"";display:table;clear:both}.panel-grid-cell{-ms-box-sizing:border-box;box-sizing:border-box;min-height:1em;float:left}.panel-grid-cell .so-panel{zoom:1}.panel-grid-cell .so-panel:before{content:"";display:block}.panel-grid-cell .so-panel:after{content:"";display:table;clear:both}.panel-grid-cell .panel-last-child{margin-bottom:0}.panel-grid-cell .widget-title{margin-top:0}.panel-row-style{zoom:1}.panel-row-style:before{content:"";display:block}.panel-row-style:after{content:"";display:table;clear:both}
1
+ .panel-grid{zoom:1}.panel-grid:before{content:"";display:block}.panel-grid:after{content:"";display:table;clear:both}.panel-grid .so-parallax{position:relative}.panel-grid .so-parallax>div:not(.simpleParallax){position:relative;z-index:1}.panel-grid .so-parallax .simpleParallax,.panel-grid .so-parallax img[data-siteorigin-parallax]{bottom:0;left:0;position:absolute;right:0;top:0;width:100%;z-index:0}.panel-grid-cell{-ms-box-sizing:border-box;box-sizing:border-box;min-height:1em;float:left}.panel-grid-cell .so-panel{zoom:1}.panel-grid-cell .so-panel:before{content:"";display:block}.panel-grid-cell .so-panel:after{content:"";display:table;clear:both}.panel-grid-cell .panel-last-child{margin-bottom:0}.panel-grid-cell .widget-title{margin-top:0}.panel-row-style{zoom:1}.panel-row-style:before{content:"";display:block}.panel-row-style:after{content:"";display:table;clear:both}
inc/admin-layouts.php CHANGED
@@ -97,7 +97,9 @@ class SiteOrigin_Panels_Admin_Layouts {
97
  $mime_type = mime_content_type( $file );
98
 
99
  // Valid if text files.
100
- $valid_file_type = strpos( $mime_type, 'text/' ) === 0;
 
 
101
  } else {
102
  // If `mime_content_type` isn't available, just check file extension.
103
  $ext = pathinfo( $file, PATHINFO_EXTENSION );
@@ -189,7 +191,7 @@ class SiteOrigin_Panels_Admin_Layouts {
189
 
190
  $type = ! empty( $_REQUEST['type'] ) ? $_REQUEST['type'] : 'directory-siteorigin';
191
  $search = ! empty( $_REQUEST['search'] ) ? trim( strtolower( $_REQUEST['search'] ) ) : '';
192
- $page_num = ! empty( $_REQUEST['page'] ) ? intval( $_REQUEST['page'] ) : 1;
193
 
194
  $return = array(
195
  'title' => '',
@@ -284,7 +286,7 @@ class SiteOrigin_Panels_Admin_Layouts {
284
  " . ( ! empty( $search ) ? 'AND posts.post_title LIKE "%' . esc_sql( $search ) . '%"' : '' ) . "
285
  AND ( posts.post_status = 'publish' OR posts.post_status = 'draft' " . $include_private . ")
286
  ORDER BY post_date DESC
287
- LIMIT 16 OFFSET " . intval( ( $page_num - 1 ) * 16 ) );
288
  $total_posts = $wpdb->get_var( "SELECT FOUND_ROWS();" );
289
 
290
  foreach ( $results as $result ) {
97
  $mime_type = mime_content_type( $file );
98
 
99
  // Valid if text files.
100
+
101
+ // Valid if text or json file.
102
+ $valid_file_type = strpos( $mime_type, '/json' ) || strpos( $mime_type, 'text/' ) > -1;
103
  } else {
104
  // If `mime_content_type` isn't available, just check file extension.
105
  $ext = pathinfo( $file, PATHINFO_EXTENSION );
191
 
192
  $type = ! empty( $_REQUEST['type'] ) ? $_REQUEST['type'] : 'directory-siteorigin';
193
  $search = ! empty( $_REQUEST['search'] ) ? trim( strtolower( $_REQUEST['search'] ) ) : '';
194
+ $page_num = ! empty( $_REQUEST['page'] ) ? (int) $_REQUEST['page'] : 1;
195
 
196
  $return = array(
197
  'title' => '',
286
  " . ( ! empty( $search ) ? 'AND posts.post_title LIKE "%' . esc_sql( $search ) . '%"' : '' ) . "
287
  AND ( posts.post_status = 'publish' OR posts.post_status = 'draft' " . $include_private . ")
288
  ORDER BY post_date DESC
289
+ LIMIT 16 OFFSET " . (int) ( $page_num - 1 ) * 16 );
290
  $total_posts = $wpdb->get_var( "SELECT FOUND_ROWS();" );
291
 
292
  foreach ( $results as $result ) {
inc/admin.php CHANGED
@@ -73,6 +73,10 @@ class SiteOrigin_Panels_Admin {
73
  add_action( 'admin_print_scripts-post-new.php', array( $this, 'enqueue_seo_compat' ), 100 );
74
  add_action( 'admin_print_scripts-post.php', array( $this, 'enqueue_seo_compat' ), 100 );
75
 
 
 
 
 
76
  // Block editor specific actions
77
  if ( function_exists( 'register_block_type' ) ) {
78
  add_action( 'admin_notices', array( $this, 'admin_notices' ) );
@@ -262,7 +266,7 @@ class SiteOrigin_Panels_Admin {
262
  $post->post_content = $post_content;
263
  if( siteorigin_panels_setting( 'copy-styles' ) ) {
264
  $post->post_content .= "\n\n";
265
- $post->post_content .= '<style type="text/css" class="panels-style" data-panels-style-for-post="' . intval( $layout_id ) . '">';
266
  $post->post_content .= '@import url(' . SiteOrigin_Panels::front_css_url() . '); ';
267
  $post->post_content .= $post_css;
268
  $post->post_content .= '</style>';
@@ -995,6 +999,8 @@ class SiteOrigin_Panels_Admin {
995
  $the_widget->id = 'temp';
996
  $the_widget->number = $widget_number;
997
 
 
 
998
  ob_start();
999
  if ( $this->is_core_js_widget( $the_widget ) ) {
1000
  ?><div class="widget-content"><?php
@@ -1052,7 +1058,7 @@ class SiteOrigin_Panels_Admin {
1052
 
1053
  function generate_panels_preview( $post_id, $panels_data ) {
1054
  $GLOBALS[ 'SITEORIGIN_PANELS_PREVIEW_RENDER' ] = true;
1055
- $return = SiteOrigin_Panels::renderer()->render( intval( $post_id ), false, $panels_data );
1056
  if ( function_exists( 'wp_targeted_link_rel' ) ) {
1057
  $return = wp_targeted_link_rel( $return );
1058
  }
@@ -1097,7 +1103,7 @@ class SiteOrigin_Panels_Admin {
1097
  // Create a version of the builder data for post content
1098
  SiteOrigin_Panels_Post_Content_Filters::add_filters();
1099
  $GLOBALS[ 'SITEORIGIN_PANELS_POST_CONTENT_RENDER' ] = true;
1100
- echo SiteOrigin_Panels::renderer()->render( intval( $_POST['post_id'] ), false, $panels_data );
1101
  SiteOrigin_Panels_Post_Content_Filters::remove_filters();
1102
  unset( $GLOBALS[ 'SITEORIGIN_PANELS_POST_CONTENT_RENDER' ] );
1103
 
@@ -1138,11 +1144,11 @@ class SiteOrigin_Panels_Admin {
1138
  // Create a version of the builder data for post content
1139
  SiteOrigin_Panels_Post_Content_Filters::add_filters();
1140
  $GLOBALS[ 'SITEORIGIN_PANELS_POST_CONTENT_RENDER' ] = true;
1141
- $return['post_content'] = SiteOrigin_Panels::renderer()->render( intval( $_POST['post_id'] ), false, $panels_data );
1142
  SiteOrigin_Panels_Post_Content_Filters::remove_filters();
1143
  unset( $GLOBALS[ 'SITEORIGIN_PANELS_POST_CONTENT_RENDER' ] );
1144
 
1145
- $return['preview'] = $this->generate_panels_preview( intval( $_POST['post_id'] ), $panels_data );
1146
 
1147
  echo json_encode( $return );
1148
 
@@ -1199,7 +1205,7 @@ class SiteOrigin_Panels_Admin {
1199
  */
1200
  public function layout_block_preview() {
1201
 
1202
- if ( empty( $_REQUEST['_panelsnonce'] ) || ! wp_verify_nonce( $_REQUEST['_panelsnonce'], 'layout-block-preview' ) ) {
1203
  wp_die();
1204
  }
1205
 
73
  add_action( 'admin_print_scripts-post-new.php', array( $this, 'enqueue_seo_compat' ), 100 );
74
  add_action( 'admin_print_scripts-post.php', array( $this, 'enqueue_seo_compat' ), 100 );
75
 
76
+ if ( class_exists( 'ACF' ) ) {
77
+ SiteOrigin_Panels_Compat_ACF_Widgets::single();
78
+ }
79
+
80
  // Block editor specific actions
81
  if ( function_exists( 'register_block_type' ) ) {
82
  add_action( 'admin_notices', array( $this, 'admin_notices' ) );
266
  $post->post_content = $post_content;
267
  if( siteorigin_panels_setting( 'copy-styles' ) ) {
268
  $post->post_content .= "\n\n";
269
+ $post->post_content .= '<style type="text/css" class="panels-style" data-panels-style-for-post="' . (int) $layout_id . '">';
270
  $post->post_content .= '@import url(' . SiteOrigin_Panels::front_css_url() . '); ';
271
  $post->post_content .= $post_css;
272
  $post->post_content .= '</style>';
999
  $the_widget->id = 'temp';
1000
  $the_widget->number = $widget_number;
1001
 
1002
+ do_action( 'siteorigin_panels_before_widget_form', $the_widget, $instance );
1003
+
1004
  ob_start();
1005
  if ( $this->is_core_js_widget( $the_widget ) ) {
1006
  ?><div class="widget-content"><?php
1058
 
1059
  function generate_panels_preview( $post_id, $panels_data ) {
1060
  $GLOBALS[ 'SITEORIGIN_PANELS_PREVIEW_RENDER' ] = true;
1061
+ $return = SiteOrigin_Panels::renderer()->render( (int) $post_id, false, $panels_data );
1062
  if ( function_exists( 'wp_targeted_link_rel' ) ) {
1063
  $return = wp_targeted_link_rel( $return );
1064
  }
1103
  // Create a version of the builder data for post content
1104
  SiteOrigin_Panels_Post_Content_Filters::add_filters();
1105
  $GLOBALS[ 'SITEORIGIN_PANELS_POST_CONTENT_RENDER' ] = true;
1106
+ echo SiteOrigin_Panels::renderer()->render( (int) $_POST['post_id'], false, $panels_data );
1107
  SiteOrigin_Panels_Post_Content_Filters::remove_filters();
1108
  unset( $GLOBALS[ 'SITEORIGIN_PANELS_POST_CONTENT_RENDER' ] );
1109
 
1144
  // Create a version of the builder data for post content
1145
  SiteOrigin_Panels_Post_Content_Filters::add_filters();
1146
  $GLOBALS[ 'SITEORIGIN_PANELS_POST_CONTENT_RENDER' ] = true;
1147
+ $return['post_content'] = SiteOrigin_Panels::renderer()->render( (int) $_POST['post_id'], false, $panels_data );
1148
  SiteOrigin_Panels_Post_Content_Filters::remove_filters();
1149
  unset( $GLOBALS[ 'SITEORIGIN_PANELS_POST_CONTENT_RENDER' ] );
1150
 
1151
+ $return['preview'] = $this->generate_panels_preview( (int) $_POST['post_id'], $panels_data );
1152
 
1153
  echo json_encode( $return );
1154
 
1205
  */
1206
  public function layout_block_preview() {
1207
 
1208
+ if ( empty( $_POST['panelsData'] ) || empty( $_REQUEST['_panelsnonce'] ) || ! wp_verify_nonce( $_REQUEST['_panelsnonce'], 'layout-block-preview' ) ) {
1209
  wp_die();
1210
  }
1211
 
inc/css-builder.php CHANGED
@@ -154,7 +154,7 @@ class SiteOrigin_Panels_Css_Builder {
154
  * @param int $resolution The pixel resolution that this applies to
155
  * @param bool $specify_layout Sometimes for CSS specificity, we need to include the layout ID.
156
  */
157
- public function add_widget_css( $li, $ri = false, $ci = false, $wi = false, $sub_selector, $attributes = array(), $resolution = 1920, $specify_layout = false ) {
158
  $selector = array();
159
 
160
  if ( $ri === false && $ci === false && $wi === false ) {
@@ -235,11 +235,11 @@ class SiteOrigin_Panels_Css_Builder {
235
  }
236
 
237
  if ( $max_res === '' && $min_res > 0 ) {
238
- $css_text .= '@media (min-width:' . intval( $min_res ) . 'px) {';
239
  } elseif ( $max_res < 1920 ) {
240
- $css_text .= '@media (max-width:' . intval( $max_res ) . 'px)';
241
  if ( ! empty( $min_res ) ) {
242
- $css_text .= ' and (min-width:' . intval( $min_res ) . 'px) ';
243
  }
244
  $css_text .= '{ ';
245
  }
154
  * @param int $resolution The pixel resolution that this applies to
155
  * @param bool $specify_layout Sometimes for CSS specificity, we need to include the layout ID.
156
  */
157
+ public function add_widget_css( $li, $ri = false, $ci = false, $wi = false, $sub_selector = '', $attributes = array(), $resolution = 1920, $specify_layout = false ) {
158
  $selector = array();
159
 
160
  if ( $ri === false && $ci === false && $wi === false ) {
235
  }
236
 
237
  if ( $max_res === '' && $min_res > 0 ) {
238
+ $css_text .= '@media (min-width:' . (int) $min_res . 'px) {';
239
  } elseif ( $max_res < 1920 ) {
240
+ $css_text .= '@media (max-width:' . (int) $max_res . 'px)';
241
  if ( ! empty( $min_res ) ) {
242
+ $css_text .= ' and (min-width:' . (int) $min_res . 'px) ';
243
  }
244
  $css_text .= '{ ';
245
  }
inc/post-content-filters.php CHANGED
@@ -38,13 +38,13 @@ class SiteOrigin_Panels_Post_Content_Filters {
38
  $attributes[ 'data-style' ] = json_encode( $row['style'] );
39
  }
40
  if( ! empty( $row['ratio'] ) ) {
41
- $attributes[ 'data-ratio' ] = floatval( $row['ratio'] );
42
  }
43
  if( ! empty( $row['ratio_direction'] ) ) {
44
  $attributes[ 'data-ratio-direction' ] = $row['ratio_direction'];
45
  }
46
  if( ! empty( $row['color_label'] ) ) {
47
- $attributes[ 'data-color-label' ] = intval( $row['color_label'] );
48
  }
49
  if( ! empty( $row['label'] ) ) {
50
  $attributes[ 'data-label' ] = $row['label'];
38
  $attributes[ 'data-style' ] = json_encode( $row['style'] );
39
  }
40
  if( ! empty( $row['ratio'] ) ) {
41
+ $attributes[ 'data-ratio' ] = (float) $row['ratio'];
42
  }
43
  if( ! empty( $row['ratio_direction'] ) ) {
44
  $attributes[ 'data-ratio-direction' ] = $row['ratio_direction'];
45
  }
46
  if( ! empty( $row['color_label'] ) ) {
47
+ $attributes[ 'data-color-label' ] = (int) $row['color_label'];
48
  }
49
  if( ! empty( $row['label'] ) ) {
50
  $attributes[ 'data-label' ] = $row['label'];
inc/renderer-legacy.php CHANGED
@@ -75,7 +75,7 @@ class SiteOrigin_Panels_Renderer_Legacy extends SiteOrigin_Panels_Renderer {
75
  ) );
76
  }
77
 
78
- $margin_half = ( floatval( $gutter_parts[1] ) / 2 ) . $gutter_parts[2];
79
  $css->add_row_css($post_id, $ri, '', array(
80
  'margin-left' => '-' . $margin_half,
81
  'margin-right' => '-' . $margin_half,
75
  ) );
76
  }
77
 
78
+ $margin_half = ( (float) $gutter_parts[1] / 2 ) . $gutter_parts[2];
79
  $css->add_row_css($post_id, $ri, '', array(
80
  'margin-left' => '-' . $margin_half,
81
  'margin-right' => '-' . $margin_half,
inc/renderer.php CHANGED
@@ -25,14 +25,23 @@ class SiteOrigin_Panels_Renderer {
25
  if ( is_null( $this->inline_css ) ) {
26
  // Initialize the inline CSS array and add actions to handle printing.
27
  $this->inline_css = array();
28
-
29
  $output_css = siteorigin_panels_setting( 'output-css-header');
 
30
  if ( is_admin() || SiteOrigin_Panels_Admin::is_block_editor() || $output_css == 'auto' ) {
31
  add_action( 'wp_head', array( $this, 'print_inline_css' ), 12 );
32
  add_action( 'wp_footer', array( $this, 'print_inline_css' ) );
33
- } else if ( $output_css == 'header' ) {
 
 
 
 
 
34
  add_action( 'wp_head', array( $this, 'print_inline_css' ), 12 );
35
- } else {
 
 
 
36
  add_action( 'wp_footer', array( $this, 'print_inline_css' ) );
37
  }
38
  }
@@ -106,7 +115,7 @@ class SiteOrigin_Panels_Renderer {
106
  // This seems to happen when a plugin calls `setlocale(LC_ALL, 'de_DE');` or `setlocale(LC_NUMERIC, 'de_DE');`
107
  // This should prevent issues with column sizes in these cases.
108
  str_replace( ',', '.', $rounded_width ),
109
- str_replace( ',', '.', intval($gutter) ? $calc_width : '' ), // Exclude if there's a zero gutter
110
  )
111
  ) );
112
 
@@ -190,11 +199,11 @@ class SiteOrigin_Panels_Renderer {
190
  // Tablet responsive css for cells
191
 
192
  $css->add_cell_css( $post_id, $ri, false, ':nth-child(even)', array(
193
- 'padding-left' => ( floatval( $gutter_parts[1] / 2 ) . $gutter_parts[2] ),
194
  ), $panels_tablet_width . ':' . ( $panels_mobile_width + 1 ) );
195
 
196
  $css->add_cell_css( $post_id, $ri, false, ':nth-child(odd)', array(
197
- 'padding-right' => ( floatval( $gutter_parts[1] / 2 ) . $gutter_parts[2] ),
198
  ), $panels_tablet_width . ':' . ( $panels_mobile_width + 1 ) );
199
  }
200
 
@@ -547,6 +556,10 @@ class SiteOrigin_Panels_Renderer {
547
  $args['after_widget'] = '</div>' . $args['after_widget'];
548
  }
549
 
 
 
 
 
550
  // This gives other plugins the chance to take over rendering of widgets
551
  $widget_html = apply_filters( 'siteorigin_panels_the_widget_html', '', $the_widget, $args, $instance );
552
 
@@ -688,14 +701,14 @@ class SiteOrigin_Panels_Renderer {
688
  $layout_data[ $cell['grid'] ]['cells'][] = array(
689
  'widgets' => array(),
690
  'style' => ! empty( $cell['style'] ) ? $cell['style'] : array(),
691
- 'weight' => floatval( $cell['weight'] ),
692
  );
693
  }
694
 
695
  foreach ( $panels_data['widgets'] as $i => $widget ) {
696
  $widget['panels_info']['widget_index'] = $i;
697
- $row_index = intval( $widget['panels_info']['grid'] );
698
- $cell_index = intval( $widget['panels_info']['cell'] );
699
  $layout_data[ $row_index ]['cells'][ $cell_index ]['widgets'][] = $widget;
700
  }
701
 
@@ -755,6 +768,9 @@ class SiteOrigin_Panels_Renderer {
755
  echo $row_style_wrapper;
756
  }
757
 
 
 
 
758
  if( method_exists( $this, 'modify_row_cells' ) ) {
759
  // This gives other renderers a chance to change the cell order
760
  $row['cells'] = $cells = $this->modify_row_cells( $row['cells'], $row );
@@ -764,6 +780,9 @@ class SiteOrigin_Panels_Renderer {
764
  $this->render_cell( $post_id, $ri, $ci, $cell, $row['cells'], $panels_data );
765
  }
766
 
 
 
 
767
  // Close the style wrapper
768
  if ( ! empty( $row_style_wrapper ) ) {
769
  echo '</div>';
@@ -832,12 +851,16 @@ class SiteOrigin_Panels_Renderer {
832
  if ( ! empty( $cell_style_wrapper ) ) {
833
  echo $cell_style_wrapper;
834
  }
 
 
835
 
836
  foreach ( $cell['widgets'] as $wi => & $widget ) {
837
  $is_last = ( $wi == count( $cell['widgets'] ) - 1 );
838
  $this->render_widget( $post_id, $ri, $ci, $wi, $widget, $is_last );
839
  }
840
 
 
 
841
  if ( ! empty( $cell_style_wrapper ) ) {
842
  echo '</div>';
843
  }
25
  if ( is_null( $this->inline_css ) ) {
26
  // Initialize the inline CSS array and add actions to handle printing.
27
  $this->inline_css = array();
28
+ $css_output_set = false;
29
  $output_css = siteorigin_panels_setting( 'output-css-header');
30
+
31
  if ( is_admin() || SiteOrigin_Panels_Admin::is_block_editor() || $output_css == 'auto' ) {
32
  add_action( 'wp_head', array( $this, 'print_inline_css' ), 12 );
33
  add_action( 'wp_footer', array( $this, 'print_inline_css' ) );
34
+ $css_output_set = true;
35
+ }
36
+
37
+ // The CSS can only be output in the header if the page is powered by the Classic Editor.
38
+ // $post_id won't be a number if the current page is powered by the Block Editor.
39
+ if ( ! $css_output_set && $output_css == 'header' && is_numeric( $post_id ) ) {
40
  add_action( 'wp_head', array( $this, 'print_inline_css' ), 12 );
41
+ $css_output_set = true;
42
+ }
43
+
44
+ if ( ! $css_output_set ) {
45
  add_action( 'wp_footer', array( $this, 'print_inline_css' ) );
46
  }
47
  }
115
  // This seems to happen when a plugin calls `setlocale(LC_ALL, 'de_DE');` or `setlocale(LC_NUMERIC, 'de_DE');`
116
  // This should prevent issues with column sizes in these cases.
117
  str_replace( ',', '.', $rounded_width ),
118
+ str_replace( ',', '.', (int) $gutter ? $calc_width : '' ), // Exclude if there's a zero gutter
119
  )
120
  ) );
121
 
199
  // Tablet responsive css for cells
200
 
201
  $css->add_cell_css( $post_id, $ri, false, ':nth-child(even)', array(
202
+ 'padding-left' => ( (float) $gutter_parts[1] / 2 . $gutter_parts[2] ),
203
  ), $panels_tablet_width . ':' . ( $panels_mobile_width + 1 ) );
204
 
205
  $css->add_cell_css( $post_id, $ri, false, ':nth-child(odd)', array(
206
+ 'padding-right' => ( (float) $gutter_parts[1] / 2 . $gutter_parts[2] ),
207
  ), $panels_tablet_width . ':' . ( $panels_mobile_width + 1 ) );
208
  }
209
 
556
  $args['after_widget'] = '</div>' . $args['after_widget'];
557
  }
558
 
559
+ // This allows other themes and plugins to add HTML inside of the widget before and after the contents.
560
+ $args['before_widget'] .= apply_filters( 'siteorigin_panels_inside_widget_before', '', $widget_info );
561
+ $args['after_widget'] = apply_filters( 'siteorigin_panels_inside_widget_after', '', $widget_info ) . $args['after_widget'];
562
+
563
  // This gives other plugins the chance to take over rendering of widgets
564
  $widget_html = apply_filters( 'siteorigin_panels_the_widget_html', '', $the_widget, $args, $instance );
565
 
701
  $layout_data[ $cell['grid'] ]['cells'][] = array(
702
  'widgets' => array(),
703
  'style' => ! empty( $cell['style'] ) ? $cell['style'] : array(),
704
+ 'weight' => (float) $cell['weight'],
705
  );
706
  }
707
 
708
  foreach ( $panels_data['widgets'] as $i => $widget ) {
709
  $widget['panels_info']['widget_index'] = $i;
710
+ $row_index = (int) $widget['panels_info']['grid'];
711
+ $cell_index = (int) $widget['panels_info']['cell'];
712
  $layout_data[ $row_index ]['cells'][ $cell_index ]['widgets'][] = $widget;
713
  }
714
 
768
  echo $row_style_wrapper;
769
  }
770
 
771
+ // This allows other themes and plugins to add HTML inside of the row before the row contents.
772
+ echo apply_filters( 'siteorigin_panels_inside_row_before', '', $row );
773
+
774
  if( method_exists( $this, 'modify_row_cells' ) ) {
775
  // This gives other renderers a chance to change the cell order
776
  $row['cells'] = $cells = $this->modify_row_cells( $row['cells'], $row );
780
  $this->render_cell( $post_id, $ri, $ci, $cell, $row['cells'], $panels_data );
781
  }
782
 
783
+ // This allows other themes and plugins to add HTML inside of the row after the row contents.
784
+ echo apply_filters( 'siteorigin_panels_inside_row_after', '', $row );
785
+
786
  // Close the style wrapper
787
  if ( ! empty( $row_style_wrapper ) ) {
788
  echo '</div>';
851
  if ( ! empty( $cell_style_wrapper ) ) {
852
  echo $cell_style_wrapper;
853
  }
854
+ // This allows other themes and plugins to add HTML inside of the cell before its contents.
855
+ echo apply_filters( 'siteorigin_panels_inside_cell_before', '', $cell );
856
 
857
  foreach ( $cell['widgets'] as $wi => & $widget ) {
858
  $is_last = ( $wi == count( $cell['widgets'] ) - 1 );
859
  $this->render_widget( $post_id, $ri, $ci, $wi, $widget, $is_last );
860
  }
861
 
862
+ // This allows other themes and plugins to add HTML inside of the cell after its contents.
863
+ echo apply_filters( 'siteorigin_panels_inside_cell_after', '', $cell );
864
  if ( ! empty( $cell_style_wrapper ) ) {
865
  echo '</div>';
866
  }
inc/settings.php CHANGED
@@ -116,13 +116,21 @@ class SiteOrigin_Panels_Settings {
116
  $defaults['load-on-attach'] = false;
117
  $defaults['use-classic'] = true;
118
 
 
 
 
 
 
119
  // The general fields
120
  $defaults['post-types'] = array( 'page', 'post' );
121
  $defaults['live-editor-quick-link'] = true;
122
  $defaults['admin-post-state'] = true;
123
  $defaults['admin-widget-count'] = false;
124
- $defaults['parallax-motion'] = '';
125
  $defaults['parallax-mobile'] = false;
 
 
 
126
  $defaults['sidebars-emulator'] = true;
127
  $defaults['layout-block-default-mode'] = 'preview';
128
 
@@ -131,7 +139,7 @@ class SiteOrigin_Panels_Settings {
131
  $defaults['add-widget-class'] = apply_filters( 'siteorigin_panels_default_add_widget_class', true );
132
  $defaults['bundled-widgets'] = get_option( 'siteorigin_panels_is_using_bundled', false );
133
  $defaults['recommended-widgets'] = true;
134
- $defaults['instant-open-widgets'] = false;
135
 
136
  // The layout fields
137
  $defaults['responsive'] = true;
@@ -280,17 +288,41 @@ class SiteOrigin_Panels_Settings {
280
  'label' => __( 'Display Widget Count', 'siteorigin-panels' ),
281
  'description' => __( "Display a widget count in the admin lists of posts/pages where you're using Page Builder.", 'siteorigin-panels' ),
282
  );
 
 
 
 
 
 
 
 
 
 
283
 
 
 
 
 
 
 
 
284
  $fields['general']['fields']['parallax-motion'] = array(
285
  'type' => 'float',
286
  'label' => __( 'Limit Parallax Motion', 'siteorigin-panels' ),
287
  'description' => __( 'How many pixels of scrolling result in a single pixel of parallax motion. 0 means automatic. Lower values give more noticeable effect.', 'siteorigin-panels' ),
288
  );
289
 
290
- $fields['general']['fields']['parallax-mobile'] = array(
291
- 'type' => 'checkbox',
292
- 'label' => __( 'Disable Parallax On Mobile', 'siteorigin-panels' ),
293
- 'description' => __( 'Disable row/widget background parallax when the browser is smaller than the mobile width.', 'siteorigin-panels' ),
 
 
 
 
 
 
 
294
  );
295
 
296
  $fields['general']['fields']['sidebars-emulator'] = array(
@@ -455,6 +487,7 @@ class SiteOrigin_Panels_Settings {
455
  'footer' => __( 'Footer', 'siteorigin-panels' ),
456
  ),
457
  'label' => __( 'Page Builder Layout CSS Output Location', 'siteorigin-panels' ),
 
458
  );
459
 
460
  // The content fields
@@ -518,7 +551,7 @@ class SiteOrigin_Panels_Settings {
518
  case 'html':
519
  ?><textarea name="<?php echo esc_attr( $field_name ) ?>"
520
  class="panels-setting-<?php echo esc_attr( $field['type'] ) ?> widefat"
521
- rows="<?php echo ! empty( $field['rows'] ) ? intval( $field['rows'] ) : 2 ?>"><?php echo esc_textarea( $value ) ?></textarea> <?php
522
  break;
523
 
524
  case 'checkbox':
@@ -598,7 +631,7 @@ class SiteOrigin_Panels_Settings {
598
 
599
  case 'number':
600
  if ( $post[ $field_id ] != '' ) {
601
- $values[ $field_id ] = ! empty( $post[ $field_id ] ) ? intval( $post[ $field_id ] ) : 0;
602
  } else {
603
  $values[ $field_id ] = '';
604
  }
@@ -606,7 +639,7 @@ class SiteOrigin_Panels_Settings {
606
 
607
  case 'float':
608
  if ( $post[ $field_id ] != '' ) {
609
- $values[ $field_id ] = ! empty( $post[ $field_id ] ) ? floatval( $post[ $field_id ] ) : 0;
610
  } else {
611
  $values[ $field_id ] = '';
612
  }
116
  $defaults['load-on-attach'] = false;
117
  $defaults['use-classic'] = true;
118
 
119
+ // The Parallax Type default depends on whether a different setting settings is set.
120
+ // This is done here rather than using `siteorigin_panels_version_changed` as
121
+ // that hook is triggered after the settings are loaded.
122
+ $so_settings = get_option( 'siteorigin_panels_settings' );
123
+
124
  // The general fields
125
  $defaults['post-types'] = array( 'page', 'post' );
126
  $defaults['live-editor-quick-link'] = true;
127
  $defaults['admin-post-state'] = true;
128
  $defaults['admin-widget-count'] = false;
129
+ $defaults['parallax-type'] = ! empty( $so_settings ) && ! isset( $so_settings['parallax-delay'] ) ? 'legacy' : 'modern';
130
  $defaults['parallax-mobile'] = false;
131
+ $defaults['parallax-motion'] = ''; // legacy parallax
132
+ $defaults['parallax-delay'] = 0.4;
133
+ $defaults['parallax-scale'] = 1.2;
134
  $defaults['sidebars-emulator'] = true;
135
  $defaults['layout-block-default-mode'] = 'preview';
136
 
139
  $defaults['add-widget-class'] = apply_filters( 'siteorigin_panels_default_add_widget_class', true );
140
  $defaults['bundled-widgets'] = get_option( 'siteorigin_panels_is_using_bundled', false );
141
  $defaults['recommended-widgets'] = true;
142
+ $defaults['instant-open-widgets'] = true;
143
 
144
  // The layout fields
145
  $defaults['responsive'] = true;
288
  'label' => __( 'Display Widget Count', 'siteorigin-panels' ),
289
  'description' => __( "Display a widget count in the admin lists of posts/pages where you're using Page Builder.", 'siteorigin-panels' ),
290
  );
291
+
292
+ $fields['general']['fields']['parallax-type'] = array(
293
+ 'type' => 'select',
294
+ 'label' => __( 'Parallax Type', 'siteorigin-panels' ),
295
+ 'options' => array(
296
+ 'modern' => __( 'Modern', 'siteorigin-panels' ),
297
+ 'legacy' => __( 'Legacy', 'siteorigin-panels' ),
298
+ ),
299
+ 'description' => __( 'Modern is recommended as it can use smaller images and offers better performance.', 'siteorigin-panels' ),
300
+ );
301
 
302
+ $fields['general']['fields']['parallax-mobile'] = array(
303
+ 'type' => 'checkbox',
304
+ 'label' => __( 'Disable Parallax On Mobile', 'siteorigin-panels' ),
305
+ 'description' => __( 'Disable row/widget background parallax when the browser is smaller than the mobile width.', 'siteorigin-panels' ),
306
+ );
307
+
308
+ // Legacy Parallax settings.
309
  $fields['general']['fields']['parallax-motion'] = array(
310
  'type' => 'float',
311
  'label' => __( 'Limit Parallax Motion', 'siteorigin-panels' ),
312
  'description' => __( 'How many pixels of scrolling result in a single pixel of parallax motion. 0 means automatic. Lower values give more noticeable effect.', 'siteorigin-panels' ),
313
  );
314
 
315
+ // New Parallax settings.
316
+ $fields['general']['fields']['parallax-delay'] = array(
317
+ 'type' => 'float',
318
+ 'label' => __( 'Parallax Delay', 'siteorigin-panels' ),
319
+ 'description' => __( 'The delay before the parallax effect finishes after the user stops scrolling.', 'siteorigin-panels' ),
320
+ );
321
+
322
+ $fields['general']['fields']['parallax-scale'] = array(
323
+ 'type' => 'float',
324
+ 'label' => __( 'Parallax Scale', 'siteorigin-panels' ),
325
+ 'description' => __( 'How much the image is scaled. The higher the scale is set, the more visible the parallax effect will be. Increasing the scale will result in a loss of image quality.', 'siteorigin-panels' ),
326
  );
327
 
328
  $fields['general']['fields']['sidebars-emulator'] = array(
487
  'footer' => __( 'Footer', 'siteorigin-panels' ),
488
  ),
489
  'label' => __( 'Page Builder Layout CSS Output Location', 'siteorigin-panels' ),
490
+ 'description' => __( 'This setting is only applicable in the Classic Editor.', 'siteorigin-panels' ),
491
  );
492
 
493
  // The content fields
551
  case 'html':
552
  ?><textarea name="<?php echo esc_attr( $field_name ) ?>"
553
  class="panels-setting-<?php echo esc_attr( $field['type'] ) ?> widefat"
554
+ rows="<?php echo ! empty( $field['rows'] ) ? (int) $field['rows'] : 2 ?>"><?php echo esc_textarea( $value ) ?></textarea> <?php
555
  break;
556
 
557
  case 'checkbox':
631
 
632
  case 'number':
633
  if ( $post[ $field_id ] != '' ) {
634
+ $values[ $field_id ] = ! empty( $post[ $field_id ] ) ? (int) $post[ $field_id ] : 0;
635
  } else {
636
  $values[ $field_id ] = '';
637
  }
639
 
640
  case 'float':
641
  if ( $post[ $field_id ] != '' ) {
642
+ $values[ $field_id ] = ! empty( $post[ $field_id ] ) ? (float) $post[ $field_id ] : 0;
643
  } else {
644
  $values[ $field_id ] = '';
645
  }
inc/sidebars-emulator.php CHANGED
@@ -65,19 +65,26 @@ class SiteOrigin_Panels_Sidebars_Emulator {
65
  * Register all the current widgets so we can filter the get_option('widget_...') values to add instances
66
  */
67
  function register_widgets() {
68
- $current_url = add_query_arg( false, false );
69
- $cache_key = md5( $current_url );
70
-
71
- // Get the ID of the current post
72
- $post_id = wp_cache_get( $cache_key, 'siteorigin_url_to_postid' );
73
- if ( false === $post_id ) {
74
- $post_id = url_to_postid( $current_url );
75
- wp_cache_set( $cache_key, $post_id, 'siteorigin_url_to_postid', 3 * HOUR_IN_SECONDS );
 
 
 
 
 
 
 
76
  }
77
 
78
  if ( empty( $post_id ) ) {
79
  // Maybe this is the home page
80
- $current_url_path = parse_url( $current_url, PHP_URL_PATH );
81
  $home_url_path = parse_url( trailingslashit( home_url() ), PHP_URL_PATH );
82
 
83
  if ( $current_url_path === $home_url_path && get_option( 'page_on_front' ) != 0 ) {
@@ -149,10 +156,9 @@ class SiteOrigin_Panels_Sidebars_Emulator {
149
  */
150
  public function generate_sidebar_widget_ids( $widgets, $post_id, $start = 1 ) {
151
  foreach ( $widgets as $i => &$widget_instance ) {
152
- $id_val = $post_id . strval( ( 10000 * $start ) + intval( $i ) );
153
  $widget_class = $widget_instance['panels_info']['class'];
154
-
155
-
156
  if( $widget_instance['panels_info']['class'] === 'SiteOrigin_Panels_Widgets_Layout' ) {
157
  if ( ! empty( $widget_instance['panels_data']['widgets'] ) ) {
158
  // Recursively set widget ids in layout widgets.
65
  * Register all the current widgets so we can filter the get_option('widget_...') values to add instances
66
  */
67
  function register_widgets() {
68
+ $current_url = wp_parse_url( add_query_arg( false, false ) );
69
+
70
+ // Detect current page id using path.
71
+ if ( ! empty( $current_url['path'] ) ) {
72
+
73
+ // Check if WPML is running.
74
+ if ( defined( 'ICL_LANGUAGE_CODE' ) ) {
75
+ // Remove the current language code from path to avoid 404.
76
+ $current_url['path'] = ltrim( $current_url['path'], '/' . ICL_LANGUAGE_CODE . '/' );
77
+ }
78
+
79
+ $page = get_page_by_path( $current_url['path'], OBJECT, siteorigin_panels_setting( 'post-types' ) );
80
+ if ( ! empty( $page ) ) {
81
+ $post_id = $page->ID;
82
+ }
83
  }
84
 
85
  if ( empty( $post_id ) ) {
86
  // Maybe this is the home page
87
+ $current_url_path = parse_url( add_query_arg( false, false ), PHP_URL_PATH );
88
  $home_url_path = parse_url( trailingslashit( home_url() ), PHP_URL_PATH );
89
 
90
  if ( $current_url_path === $home_url_path && get_option( 'page_on_front' ) != 0 ) {
156
  */
157
  public function generate_sidebar_widget_ids( $widgets, $post_id, $start = 1 ) {
158
  foreach ( $widgets as $i => &$widget_instance ) {
159
+ $id_val = $post_id . ( (string) ( 10000 * $start ) + (int) $i );
160
  $widget_class = $widget_instance['panels_info']['class'];
161
+
 
162
  if( $widget_instance['panels_info']['class'] === 'SiteOrigin_Panels_Widgets_Layout' ) {
163
  if ( ! empty( $widget_instance['panels_data']['widgets'] ) ) {
164
  // Recursively set widget ids in layout widgets.
inc/styles-admin.php CHANGED
@@ -7,6 +7,8 @@ class SiteOrigin_Panels_Styles_Admin {
7
 
8
  add_filter( 'siteorigin_panels_data', array( $this, 'convert_data' ) );
9
  add_filter( 'siteorigin_panels_prebuilt_layout', array( $this, 'convert_data' ) );
 
 
10
  }
11
 
12
  public static function single() {
@@ -36,18 +38,31 @@ class SiteOrigin_Panels_Styles_Admin {
36
  );
37
  }
38
 
39
- $current = isset( $_REQUEST['style'] ) ? $_REQUEST['style'] : array();
40
  $post_id = empty( $_REQUEST['postId'] ) ? 0 : $_REQUEST['postId'];
41
-
42
  $args = ! empty( $_POST['args'] ) ? json_decode( stripslashes( $_POST['args'] ), true ) : array();
43
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
  switch ( $type ) {
45
  case 'row':
46
  $this->render_styles_fields( 'row', '<h3>' . __( 'Row Styles', 'siteorigin-panels' ) . '</h3>', '', $current, $post_id, $args );
47
  break;
48
 
49
  case 'cell':
50
- $cell_number = isset( $args['index'] ) ? ' ' . ( intval( $args['index'] ) + 1 ) : '';
51
  $this->render_styles_fields( 'cell', '<h3>' . sprintf( __( 'Cell%s Styles', 'siteorigin-panels' ), $cell_number ) . '</h3>', '', $current, $post_id, $args );
52
  break;
53
 
@@ -135,7 +150,7 @@ class SiteOrigin_Panels_Styles_Admin {
135
 
136
  ?>
137
  <div class="style-section-wrapper">
138
- <div class="style-section-head">
139
  <h4><?php echo esc_html( $group['name'] ) ?></h4>
140
  </div>
141
  <div class="style-section-fields" style="display: none">
@@ -238,7 +253,7 @@ class SiteOrigin_Panels_Styles_Admin {
238
  $fallback_field_name = 'style[' . $field_id . '_fallback]';
239
 
240
  ?>
241
- <div class="so-image-selector">
242
  <div class="current-image" <?php if ( ! empty( $image ) ) {
243
  echo 'style="background-image: url(' . esc_url( $image[0] ) . ');"';
244
  } ?>>
@@ -248,9 +263,9 @@ class SiteOrigin_Panels_Styles_Admin {
248
  <?php _e( 'Select Image', 'siteorigin-panels' ) ?>
249
  </div>
250
  <input type="hidden" name="<?php echo esc_attr( $field_name ) ?>"
251
- value="<?php echo intval( $current ) ?>"/>
252
  </div>
253
- <a href="#" class="remove-image <?php if ( empty( $current ) ) echo ' hidden' ?>"><?php _e( 'Remove', 'siteorigin-panels' ) ?></a>
254
 
255
  <input type="text" value="<?php echo esc_url( $fallback_url ) ?>"
256
  placeholder="<?php esc_attr_e( 'External URL', 'siteorigin-panels' ) ?>"
@@ -477,6 +492,23 @@ class SiteOrigin_Panels_Styles_Admin {
477
  return $panels_data;
478
  }
479
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
480
  /**
481
  * Get list of supported mesurements
482
  *
7
 
8
  add_filter( 'siteorigin_panels_data', array( $this, 'convert_data' ) );
9
  add_filter( 'siteorigin_panels_prebuilt_layout', array( $this, 'convert_data' ) );
10
+
11
+ add_filter( 'siteorigin_panels_general_current_styles', array( $this, 'style_migration' ), 10, 4 );
12
  }
13
 
14
  public static function single() {
38
  );
39
  }
40
 
 
41
  $post_id = empty( $_REQUEST['postId'] ) ? 0 : $_REQUEST['postId'];
 
42
  $args = ! empty( $_POST['args'] ) ? json_decode( stripslashes( $_POST['args'] ), true ) : array();
43
 
44
+ $current = apply_filters(
45
+ 'siteorigin_panels_general_current_styles',
46
+ isset( $_REQUEST['style'] ) ? $_REQUEST['style'] : array(),
47
+ $post_id,
48
+ $type,
49
+ $args
50
+ );
51
+
52
+ $current = apply_filters(
53
+ 'siteorigin_panels_general_current_styles_' . $type,
54
+ $current,
55
+ $post_id,
56
+ $args
57
+ );
58
+
59
  switch ( $type ) {
60
  case 'row':
61
  $this->render_styles_fields( 'row', '<h3>' . __( 'Row Styles', 'siteorigin-panels' ) . '</h3>', '', $current, $post_id, $args );
62
  break;
63
 
64
  case 'cell':
65
+ $cell_number = isset( $args['index'] ) ? ' ' . ( (int) $args['index'] + 1 ) : '';
66
  $this->render_styles_fields( 'cell', '<h3>' . sprintf( __( 'Cell%s Styles', 'siteorigin-panels' ), $cell_number ) . '</h3>', '', $current, $post_id, $args );
67
  break;
68
 
150
 
151
  ?>
152
  <div class="style-section-wrapper">
153
+ <div class="style-section-head" tabindex="0">
154
  <h4><?php echo esc_html( $group['name'] ) ?></h4>
155
  </div>
156
  <div class="style-section-fields" style="display: none">
253
  $fallback_field_name = 'style[' . $field_id . '_fallback]';
254
 
255
  ?>
256
+ <div class="so-image-selector" tabindex="0">
257
  <div class="current-image" <?php if ( ! empty( $image ) ) {
258
  echo 'style="background-image: url(' . esc_url( $image[0] ) . ');"';
259
  } ?>>
263
  <?php _e( 'Select Image', 'siteorigin-panels' ) ?>
264
  </div>
265
  <input type="hidden" name="<?php echo esc_attr( $field_name ) ?>"
266
+ value="<?php echo (int) $current; ?>"/>
267
  </div>
268
+ <a href="#" class="remove-image <?php if ( empty( (int) $current ) ) echo ' hidden' ?>"><?php _e( 'Remove', 'siteorigin-panels' ) ?></a>
269
 
270
  <input type="text" value="<?php echo esc_url( $fallback_url ) ?>"
271
  placeholder="<?php esc_attr_e( 'External URL', 'siteorigin-panels' ) ?>"
492
  return $panels_data;
493
  }
494
 
495
+ /**
496
+ * Migrate deprecated styles.
497
+ *
498
+ * @param $style array The currently selected styles.
499
+ * @param $post_id int The id of the current post.
500
+ * @param $args array An array containing builder Arguments.
501
+ *
502
+ * @return array
503
+ */
504
+ function style_migration( $style, $post_id, $type, $args ) {
505
+ if ( isset( $style['background_display'] ) && $style['background_display'] == 'parallax-original' ) {
506
+ $style['background_display'] = 'parallax';
507
+ }
508
+
509
+ return $style;
510
+ }
511
+
512
  /**
513
  * Get list of supported mesurements
514
  *
inc/styles.php CHANGED
@@ -40,6 +40,13 @@ class SiteOrigin_Panels_Styles {
40
  add_filter( 'siteorigin_panels_css_row_mobile_margin_bottom', array( $this, 'filter_row_mobile_bottom_margin' ), 10, 2 );
41
  add_filter( 'siteorigin_panels_css_row_gutter', array( $this, 'filter_row_gutter' ), 10, 2 );
42
  add_filter( 'siteorigin_panels_css_widget_css', array( $this, 'filter_widget_style_css' ), 10, 2 );
 
 
 
 
 
 
 
43
  }
44
 
45
  public static function single() {
@@ -57,16 +64,33 @@ class SiteOrigin_Panels_Styles {
57
  wp_localize_script( 'siteorigin-panels-front-styles', 'panelsStyles', array(
58
  'fullContainer' => apply_filters( 'siteorigin_panels_full_width_container', siteorigin_panels_setting( 'full-width-container' ) ),
59
  ) );
60
- wp_register_script(
61
- 'siteorigin-parallax',
62
- siteorigin_panels_url( 'js/siteorigin-parallax' . SITEORIGIN_PANELS_JS_SUFFIX . '.js' ),
63
- array( 'jquery' ),
64
- SITEORIGIN_PANELS_VERSION
65
- );
66
- wp_localize_script( 'siteorigin-parallax', 'parallaxStyles', array(
67
- 'parallax-mobile' => ! empty( siteorigin_panels_setting( 'parallax-mobile' ) ) ?: siteorigin_panels_setting( 'parallax-mobile' ),
68
- 'mobile-breakpoint' => siteorigin_panels_setting( 'mobile-width' ) . 'px',
69
- ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
70
  }
71
 
72
  /**
@@ -164,7 +188,6 @@ class SiteOrigin_Panels_Styles {
164
  'contain' => __( 'Contain', 'siteorigin-panels' ),
165
  'fixed' => __( 'Fixed', 'siteorigin-panels' ),
166
  'parallax' => __( 'Parallax', 'siteorigin-panels' ),
167
- 'parallax-original' => __( 'Parallax (Original Size)', 'siteorigin-panels' ),
168
  ),
169
  'description' => __( 'How the background image is displayed.', 'siteorigin-panels' ),
170
  'priority' => 7,
@@ -374,6 +397,10 @@ class SiteOrigin_Panels_Styles {
374
  return $fields;
375
  }
376
 
 
 
 
 
377
  /**
378
  * Style attributes that apply to rows, cells and widgets
379
  *
@@ -390,24 +417,28 @@ class SiteOrigin_Panels_Styles {
390
  $attributes['class'] = array_merge( $attributes['class'], $style['class'] );
391
  }
392
 
393
- if ( ! empty( $style['background_display'] ) &&
394
- ! empty( $style['background_image_attachment'] )
 
 
 
 
 
395
  ) {
396
-
397
- $url = self::get_attachment_image_src( $style['background_image_attachment'], 'full' );
398
-
399
- if (
400
- ! empty( $url ) &&
401
- ( $style['background_display'] == 'parallax' || $style['background_display'] == 'parallax-original' )
402
- ) {
403
- wp_enqueue_script( 'siteorigin-parallax' );
404
- $parallax_args = array(
405
- 'backgroundUrl' => $url[0],
406
- 'backgroundSize' => array( $url[1], $url[2] ),
407
- 'backgroundSizing' => $style['background_display'] == 'parallax-original' ? 'original' : 'scaled',
408
- 'limitMotion' => siteorigin_panels_setting( 'parallax-motion' ) ? floatval( siteorigin_panels_setting( 'parallax-motion' ) ) : 'auto',
409
- );
410
- $attributes['data-siteorigin-parallax'] = json_encode( $parallax_args );
411
  }
412
  }
413
 
@@ -436,6 +467,28 @@ class SiteOrigin_Panels_Styles {
436
  return $attributes;
437
  }
438
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
439
  /**
440
  * Get the CSS styles that apply to all rows, cells and widgets
441
  *
@@ -450,10 +503,21 @@ class SiteOrigin_Panels_Styles {
450
  $css[ 'background-color' ] = $style['background'];
451
  }
452
 
453
- if ( ! empty( $style['background_display'] ) &&
454
- ! ( empty( $style['background_image_attachment'] ) && empty( $style['background_image_attachment_fallback'] ) )
 
 
 
 
 
 
 
 
455
  ) {
456
- $url = self::get_attachment_image_src( $style['background_image_attachment'], 'full' );
 
 
 
457
 
458
  if ( empty( $url ) && ! empty( $style['background_image_attachment_fallback'] ) ) {
459
  $url = $style['background_image_attachment_fallback'];
@@ -465,6 +529,7 @@ class SiteOrigin_Panels_Styles {
465
  switch ( $style['background_display'] ) {
466
  case 'parallax':
467
  case 'parallax-original':
 
468
  $css[ 'background-position' ] = 'center center';
469
  $css[ 'background-repeat' ] = 'no-repeat';
470
  break;
40
  add_filter( 'siteorigin_panels_css_row_mobile_margin_bottom', array( $this, 'filter_row_mobile_bottom_margin' ), 10, 2 );
41
  add_filter( 'siteorigin_panels_css_row_gutter', array( $this, 'filter_row_gutter' ), 10, 2 );
42
  add_filter( 'siteorigin_panels_css_widget_css', array( $this, 'filter_widget_style_css' ), 10, 2 );
43
+
44
+ // New Parallax.
45
+ if ( siteorigin_panels_setting( 'parallax-type' ) == 'modern' ) {
46
+ add_filter( 'siteorigin_panels_inside_row_before', array( $this, 'add_parallax' ), 10, 2 );
47
+ add_filter( 'siteorigin_panels_inside_cell_before', array( $this, 'add_parallax' ), 10, 2 );
48
+ add_filter( 'siteorigin_panels_inside_widget_before', array( $this, 'add_parallax' ), 10, 2 );
49
+ }
50
  }
51
 
52
  public static function single() {
64
  wp_localize_script( 'siteorigin-panels-front-styles', 'panelsStyles', array(
65
  'fullContainer' => apply_filters( 'siteorigin_panels_full_width_container', siteorigin_panels_setting( 'full-width-container' ) ),
66
  ) );
67
+
68
+ if ( siteorigin_panels_setting( 'parallax-type' ) == 'modern' ) {
69
+ wp_register_script(
70
+ 'simpleParallax',
71
+ siteorigin_panels_url( 'js/lib/simpleparallax' . SITEORIGIN_PANELS_JS_SUFFIX . '.js' ),
72
+ array( 'siteorigin-panels-front-styles' ),
73
+ '5.5.1'
74
+ );
75
+
76
+ wp_localize_script( 'simpleParallax', 'parallaxStyles', array(
77
+ 'mobile-breakpoint' => siteorigin_panels_setting( 'mobile-width' ) . 'px',
78
+ 'disable-parallax-mobile' => ! empty( siteorigin_panels_setting( 'parallax-mobile' ) ) ?: siteorigin_panels_setting( 'parallax-mobile' ),
79
+ 'delay' => ! empty( siteorigin_panels_setting( 'parallax-delay' ) ) ? siteorigin_panels_setting( 'parallax-delay' ) : 0.4,
80
+ 'scale' => ! empty( siteorigin_panels_setting( 'parallax-scale' ) ) ? siteorigin_panels_setting( 'parallax-scale' ) : 1.1,
81
+ ) );
82
+ } else {
83
+ wp_register_script(
84
+ 'siteorigin-parallax',
85
+ siteorigin_panels_url( 'js/siteorigin-legacy-parallax' . SITEORIGIN_PANELS_JS_SUFFIX . '.js' ),
86
+ array( 'jquery' ),
87
+ SITEORIGIN_PANELS_VERSION
88
+ );
89
+ wp_localize_script( 'siteorigin-parallax', 'parallaxStyles', array(
90
+ 'parallax-mobile' => ! empty( siteorigin_panels_setting( 'parallax-mobile' ) ) ?: siteorigin_panels_setting( 'parallax-mobile' ),
91
+ 'mobile-breakpoint' => siteorigin_panels_setting( 'mobile-width' ) . 'px',
92
+ ) );
93
+ }
94
  }
95
 
96
  /**
188
  'contain' => __( 'Contain', 'siteorigin-panels' ),
189
  'fixed' => __( 'Fixed', 'siteorigin-panels' ),
190
  'parallax' => __( 'Parallax', 'siteorigin-panels' ),
 
191
  ),
192
  'description' => __( 'How the background image is displayed.', 'siteorigin-panels' ),
193
  'priority' => 7,
397
  return $fields;
398
  }
399
 
400
+ static function is_background_parallax( $type ) {
401
+ return $type == 'parallax' || $type == 'parallax-original';
402
+ }
403
+
404
  /**
405
  * Style attributes that apply to rows, cells and widgets
406
  *
417
  $attributes['class'] = array_merge( $attributes['class'], $style['class'] );
418
  }
419
 
420
+ if (
421
+ ! empty( $style['background_display'] ) &&
422
+ self::is_background_parallax( $style['background_display'] ) &&
423
+ (
424
+ ! empty( $style['background_image_attachment'] ) ||
425
+ ! empty( $style['background_image_attachment_fallback'] )
426
+ )
427
  ) {
428
+ if ( siteorigin_panels_setting( 'parallax-type' ) == 'legacy' ) {
429
+ $url = self::get_attachment_image_src( $style['background_image_attachment'], 'full' );
430
+ if ( ! empty( $url ) ) {
431
+ wp_enqueue_script( 'siteorigin-parallax' );
432
+ $parallax_args = array(
433
+ 'backgroundUrl' => $url[0],
434
+ 'backgroundSize' => array( $url[1], $url[2] ),
435
+ 'backgroundSizing' => 'scaled',
436
+ 'limitMotion' => siteorigin_panels_setting( 'parallax-motion' ) ? floatval( siteorigin_panels_setting( 'parallax-motion' ) ) : 'auto',
437
+ );
438
+ $attributes['data-siteorigin-parallax'] = json_encode( $parallax_args );
439
+ }
440
+ } else {
441
+ $attributes['class'][] = 'so-parallax';
 
442
  }
443
  }
444
 
467
  return $attributes;
468
  }
469
 
470
+ function add_parallax( $output, $context ) {
471
+ if (
472
+ ! empty( $context['style']['background_display'] ) &&
473
+ self::is_background_parallax( $context['style']['background_display'] )
474
+ ) {
475
+ if ( ! empty( $context['style']['background_image_attachment'] ) ) {
476
+ $url = self::get_attachment_image_src( $context['style']['background_image_attachment'], 'full' )[0];
477
+ }
478
+
479
+ if ( empty( $url ) && ! empty( $context['style']['background_image_attachment_fallback'] ) ) {
480
+ $url = $context['style']['background_image_attachment_fallback'];
481
+ }
482
+
483
+ if ( ! empty( $url ) ) {
484
+ wp_enqueue_script( 'simpleParallax' );
485
+ $output .= '<img src=' . esc_url( $url ) . ' data-siteorigin-parallax="true">';
486
+ }
487
+ }
488
+
489
+ return $output;
490
+ }
491
+
492
  /**
493
  * Get the CSS styles that apply to all rows, cells and widgets
494
  *
503
  $css[ 'background-color' ] = $style['background'];
504
  }
505
 
506
+ if (
507
+ ! (
508
+ ! empty( $style['background_image_attachment'] ) &&
509
+ ! empty( $style['background_image_attachment_fallback'] )
510
+ ) &&
511
+ ! empty( $style['background_display'] ) &&
512
+ (
513
+ ! self::is_background_parallax( $style['background_display'] ) ||
514
+ siteorigin_panels_setting( 'parallax-type' ) == 'legacy'
515
+ )
516
  ) {
517
+
518
+ if ( ! empty( $style['background_image_attachment'] ) ) {
519
+ $url = self::get_attachment_image_src( $style['background_image_attachment'], 'full' );
520
+ }
521
 
522
  if ( empty( $url ) && ! empty( $style['background_image_attachment_fallback'] ) ) {
523
  $url = $style['background_image_attachment_fallback'];
529
  switch ( $style['background_display'] ) {
530
  case 'parallax':
531
  case 'parallax-original':
532
+ // Only used by Legacy Parallax.
533
  $css[ 'background-position' ] = 'center center';
534
  $css[ 'background-repeat' ] = 'no-repeat';
535
  break;
inc/widget-shortcode.php CHANGED
@@ -106,7 +106,7 @@ class SiteOrigin_Panels_Widget_Shortcode {
106
  }
107
 
108
  static function encode_data( $data ){
109
- return '<input type="hidden" value="' . htmlentities( json_encode( $data ), ENT_QUOTES ) . '" />';
110
  }
111
 
112
  static function decode_data( $string ){
106
  }
107
 
108
  static function encode_data( $data ){
109
+ return '<input type="hidden" value="' . esc_attr( json_encode( $data, JSON_UNESCAPED_UNICODE ) ) . '" />';
110
  }
111
 
112
  static function decode_data( $string ){
inc/widgets/post-loop.php CHANGED
@@ -162,8 +162,11 @@ class SiteOrigin_Panels_Widgets_PostLoop extends WP_Widget {
162
  } else if ( strpos( $_SERVER['REQUEST_URI'], '/page/' ) !== false ) {
163
  // When the widget appears on the home page.
164
  preg_match('/\/page\/([0-9]+)\//', $_SERVER['REQUEST_URI'], $matches);
165
- if(!empty($matches[1])) $query_args['paged'] = intval($matches[1]);
166
- else $query_args['paged'] = 1;
 
 
 
167
  }
168
  }
169
 
@@ -172,7 +175,7 @@ class SiteOrigin_Panels_Widgets_PostLoop extends WP_Widget {
172
  }
173
  } else {
174
  // Get current page number when we're not using permalinks
175
- $query_args['paged'] = isset($_GET['paged']) ? intval($_GET['paged']) : 1;
176
  }
177
 
178
  // Exclude the current post to prevent possible infinite loop
162
  } else if ( strpos( $_SERVER['REQUEST_URI'], '/page/' ) !== false ) {
163
  // When the widget appears on the home page.
164
  preg_match('/\/page\/([0-9]+)\//', $_SERVER['REQUEST_URI'], $matches);
165
+ if ( ! empty( $matches[1] ) ) {
166
+ $query_args['paged'] = (int) $matches[1];
167
+ } else {
168
+ $query_args['paged'] = 1;
169
+ }
170
  }
171
  }
172
 
175
  }
176
  } else {
177
  // Get current page number when we're not using permalinks
178
+ $query_args['paged'] = isset( $_GET['paged'] ) ? (int) $_GET['paged'] : 1;
179
  }
180
 
181
  // Exclude the current post to prevent possible infinite loop
js/lib/simpleparallax.js ADDED
@@ -0,0 +1,739 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * simpleParallax - simpleParallax is a simple JavaScript library that gives your website parallax animations on any images or videos,
3
+ * @date: 21-06-2020 13:22:47,
4
+ * @version: 5.5.1,
5
+ * @link: https://simpleparallax.com/
6
+ */
7
+ (function webpackUniversalModuleDefinition(root, factory) {
8
+ if(typeof exports === 'object' && typeof module === 'object')
9
+ module.exports = factory();
10
+ else if(typeof define === 'function' && define.amd)
11
+ define("simpleParallax", [], factory);
12
+ else if(typeof exports === 'object')
13
+ exports["simpleParallax"] = factory();
14
+ else
15
+ root["simpleParallax"] = factory();
16
+ })(window, function() {
17
+ return /******/ (function(modules) { // webpackBootstrap
18
+ /******/ // The module cache
19
+ /******/ var installedModules = {};
20
+ /******/
21
+ /******/ // The require function
22
+ /******/ function __webpack_require__(moduleId) {
23
+ /******/
24
+ /******/ // Check if module is in cache
25
+ /******/ if(installedModules[moduleId]) {
26
+ /******/ return installedModules[moduleId].exports;
27
+ /******/ }
28
+ /******/ // Create a new module (and put it into the cache)
29
+ /******/ var module = installedModules[moduleId] = {
30
+ /******/ i: moduleId,
31
+ /******/ l: false,
32
+ /******/ exports: {}
33
+ /******/ };
34
+ /******/
35
+ /******/ // Execute the module function
36
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
37
+ /******/
38
+ /******/ // Flag the module as loaded
39
+ /******/ module.l = true;
40
+ /******/
41
+ /******/ // Return the exports of the module
42
+ /******/ return module.exports;
43
+ /******/ }
44
+ /******/
45
+ /******/
46
+ /******/ // expose the modules object (__webpack_modules__)
47
+ /******/ __webpack_require__.m = modules;
48
+ /******/
49
+ /******/ // expose the module cache
50
+ /******/ __webpack_require__.c = installedModules;
51
+ /******/
52
+ /******/ // define getter function for harmony exports
53
+ /******/ __webpack_require__.d = function(exports, name, getter) {
54
+ /******/ if(!__webpack_require__.o(exports, name)) {
55
+ /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
56
+ /******/ }
57
+ /******/ };
58
+ /******/
59
+ /******/ // define __esModule on exports
60
+ /******/ __webpack_require__.r = function(exports) {
61
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
62
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
63
+ /******/ }
64
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
65
+ /******/ };
66
+ /******/
67
+ /******/ // create a fake namespace object
68
+ /******/ // mode & 1: value is a module id, require it
69
+ /******/ // mode & 2: merge all properties of value into the ns
70
+ /******/ // mode & 4: return value when already ns object
71
+ /******/ // mode & 8|1: behave like require
72
+ /******/ __webpack_require__.t = function(value, mode) {
73
+ /******/ if(mode & 1) value = __webpack_require__(value);
74
+ /******/ if(mode & 8) return value;
75
+ /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
76
+ /******/ var ns = Object.create(null);
77
+ /******/ __webpack_require__.r(ns);
78
+ /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
79
+ /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
80
+ /******/ return ns;
81
+ /******/ };
82
+ /******/
83
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
84
+ /******/ __webpack_require__.n = function(module) {
85
+ /******/ var getter = module && module.__esModule ?
86
+ /******/ function getDefault() { return module['default']; } :
87
+ /******/ function getModuleExports() { return module; };
88
+ /******/ __webpack_require__.d(getter, 'a', getter);
89
+ /******/ return getter;
90
+ /******/ };
91
+ /******/
92
+ /******/ // Object.prototype.hasOwnProperty.call
93
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
94
+ /******/
95
+ /******/ // __webpack_public_path__
96
+ /******/ __webpack_require__.p = "";
97
+ /******/
98
+ /******/
99
+ /******/ // Load entry module and return exports
100
+ /******/ return __webpack_require__(__webpack_require__.s = 0);
101
+ /******/ })
102
+ /************************************************************************/
103
+ /******/ ([
104
+ /* 0 */
105
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
106
+
107
+ "use strict";
108
+ // ESM COMPAT FLAG
109
+ __webpack_require__.r(__webpack_exports__);
110
+
111
+ // EXPORTS
112
+ __webpack_require__.d(__webpack_exports__, "default", function() { return /* binding */ simpleParallax_SimpleParallax; });
113
+
114
+ // CONCATENATED MODULE: ./src/helpers/isSupportedBrowser.js
115
+ // need closest support
116
+ // https://developer.mozilla.org/en-US/docs/Web/API/Element/closest#Polyfill
117
+ // need Intersection Observer support
118
+ // https://github.com/w3c/IntersectionObserver/tree/master/polyfill
119
+ var isSupportedBrowser = function isSupportedBrowser() {
120
+ return Element.prototype.closest && 'IntersectionObserver' in window;
121
+ };
122
+
123
+ /* harmony default export */ var helpers_isSupportedBrowser = (isSupportedBrowser);
124
+ // CONCATENATED MODULE: ./src/helpers/viewport.js
125
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
126
+
127
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
128
+
129
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
130
+
131
+ var Viewport = /*#__PURE__*/function () {
132
+ function Viewport() {
133
+ _classCallCheck(this, Viewport);
134
+
135
+ this.positions = {
136
+ top: 0,
137
+ bottom: 0,
138
+ height: 0
139
+ };
140
+ }
141
+
142
+ _createClass(Viewport, [{
143
+ key: "setViewportTop",
144
+ value: function setViewportTop(container) {
145
+ // if this is a custom container, user the scrollTop
146
+ this.positions.top = container ? container.scrollTop : window.pageYOffset;
147
+ return this.positions;
148
+ }
149
+ }, {
150
+ key: "setViewportBottom",
151
+ value: function setViewportBottom() {
152
+ this.positions.bottom = this.positions.top + this.positions.height;
153
+ return this.positions;
154
+ }
155
+ }, {
156
+ key: "setViewportAll",
157
+ value: function setViewportAll(container) {
158
+ // if this is a custom container, user the scrollTop
159
+ this.positions.top = container ? container.scrollTop : window.pageYOffset; // if this is a custom container, get the height from the custom container itself
160
+
161
+ this.positions.height = container ? container.clientHeight : document.documentElement.clientHeight;
162
+ this.positions.bottom = this.positions.top + this.positions.height;
163
+ return this.positions;
164
+ }
165
+ }]);
166
+
167
+ return Viewport;
168
+ }();
169
+
170
+ var viewport = new Viewport();
171
+
172
+ // CONCATENATED MODULE: ./src/helpers/convertToArray.js
173
+ // check whether the element is a Node List, a HTML Collection or an array
174
+ // return an array of nodes
175
+ var convertToArray = function convertToArray(elements) {
176
+ if (NodeList.prototype.isPrototypeOf(elements) || HTMLCollection.prototype.isPrototypeOf(elements)) return Array.from(elements);
177
+ if (typeof elements === 'string' || elements instanceof String) return document.querySelectorAll(elements);
178
+ return [elements];
179
+ };
180
+
181
+ /* harmony default export */ var helpers_convertToArray = (convertToArray);
182
+ // CONCATENATED MODULE: ./src/helpers/cssTransform.js
183
+ // Detect css transform
184
+ var cssTransform = function cssTransform() {
185
+ var prefixes = 'transform webkitTransform mozTransform oTransform msTransform'.split(' ');
186
+ var transform;
187
+ var i = 0;
188
+
189
+ while (transform === undefined) {
190
+ transform = document.createElement('div').style[prefixes[i]] !== undefined ? prefixes[i] : undefined;
191
+ i += 1;
192
+ }
193
+
194
+ return transform;
195
+ };
196
+
197
+ /* harmony default export */ var helpers_cssTransform = (cssTransform());
198
+ // CONCATENATED MODULE: ./src/helpers/isImageLoaded.js
199
+ // check if media is fully loaded
200
+ var isImageLoaded = function isImageLoaded(media) {
201
+ // if the media is a video, return true
202
+ if (media.tagName.toLowerCase() === 'video') {
203
+ return true;
204
+ } // check if media is set as the parameter
205
+
206
+
207
+ if (!media) {
208
+ return false;
209
+ } // check if media has been 100% loaded
210
+
211
+
212
+ if (!media.complete) {
213
+ return false;
214
+ } // check if the media is displayed
215
+
216
+
217
+ if (typeof media.naturalWidth !== 'undefined' && media.naturalWidth === 0) {
218
+ return false;
219
+ }
220
+
221
+ return true;
222
+ };
223
+
224
+ /* harmony default export */ var helpers_isImageLoaded = (isImageLoaded);
225
+ // CONCATENATED MODULE: ./src/instances/parallax.js
226
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
227
+
228
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
229
+
230
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
231
+
232
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
233
+
234
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
235
+
236
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
237
+
238
+ function parallax_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
239
+
240
+ function parallax_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
241
+
242
+ function parallax_createClass(Constructor, protoProps, staticProps) { if (protoProps) parallax_defineProperties(Constructor.prototype, protoProps); if (staticProps) parallax_defineProperties(Constructor, staticProps); return Constructor; }
243
+
244
+
245
+
246
+
247
+
248
+ var parallax_ParallaxInstance = /*#__PURE__*/function () {
249
+ function ParallaxInstance(element, options) {
250
+ var _this = this;
251
+
252
+ parallax_classCallCheck(this, ParallaxInstance);
253
+
254
+ // set the element & settings
255
+ this.element = element;
256
+ this.elementContainer = element;
257
+ this.settings = options;
258
+ this.isVisible = true;
259
+ this.isInit = false;
260
+ this.oldTranslateValue = -1;
261
+ this.init = this.init.bind(this);
262
+ this.customWrapper = this.settings.customWrapper && this.element.closest(this.settings.customWrapper) ? this.element.closest(this.settings.customWrapper) : null; // check if images has not been loaded yet
263
+
264
+ if (helpers_isImageLoaded(element)) {
265
+ this.init();
266
+ } else {
267
+ this.element.addEventListener('load', function () {
268
+ // timeout to ensure the image is fully loaded into the DOM
269
+ setTimeout(function () {
270
+ _this.init(true);
271
+ }, 50);
272
+ });
273
+ }
274
+ }
275
+
276
+ parallax_createClass(ParallaxInstance, [{
277
+ key: "init",
278
+ value: function init(asyncInit) {
279
+ var _this2 = this;
280
+
281
+ // for some reason, <picture> are init an infinite time on windows OS
282
+ if (this.isInit) return;
283
+
284
+ if (asyncInit) {
285
+ // in case the image is lazy loaded, the rangemax should be cleared
286
+ // so it will be updated in the next getTranslateValue()
287
+ this.rangeMax = null;
288
+ } // check if element has not been already initialized with simpleParallax
289
+
290
+
291
+ if (this.element.closest('.simpleParallax')) return;
292
+
293
+ if (this.settings.overflow === false) {
294
+ // if overflow option is set to false
295
+ // wrap the element into a div to apply overflow
296
+ this.wrapElement(this.element);
297
+ } // apply the transform style on the image
298
+
299
+
300
+ this.setTransformCSS(); // get the current element offset
301
+
302
+ this.getElementOffset(); // init the Intesection Observer
303
+
304
+ this.intersectionObserver(); // get its translated value
305
+
306
+ this.getTranslateValue(); // apply its translation even if not visible for the first init
307
+
308
+ this.animate(); // if a delay has been set
309
+
310
+ if (this.settings.delay > 0) {
311
+ // apply a timeout to avoid buggy effect
312
+ setTimeout(function () {
313
+ // apply the transition style on the image
314
+ _this2.setTransitionCSS();
315
+ }, 10);
316
+ } // for some reason, <picture> are init an infinite time on windows OS
317
+
318
+
319
+ this.isInit = true;
320
+ } // if overflow option is set to false
321
+ // wrap the element into a .simpleParallax div and apply overflow hidden to hide the image excedant (result of the scale)
322
+
323
+ }, {
324
+ key: "wrapElement",
325
+ value: function wrapElement() {
326
+ // check is current image is in a <picture> tag
327
+ var elementToWrap = this.element.closest('picture') || this.element; // create a .simpleParallax wrapper container
328
+ // if there is a custom wrapper
329
+ // override the wrapper with it
330
+
331
+ var wrapper = this.customWrapper || document.createElement('div');
332
+ wrapper.classList.add('simpleParallax');
333
+ wrapper.style.overflow = 'hidden'; // append the image inside the new wrapper
334
+
335
+ if (!this.customWrapper) {
336
+ elementToWrap.parentNode.insertBefore(wrapper, elementToWrap);
337
+ wrapper.appendChild(elementToWrap);
338
+ }
339
+
340
+ this.elementContainer = wrapper;
341
+ } // unwrap the element from .simpleParallax wrapper container
342
+
343
+ }, {
344
+ key: "unWrapElement",
345
+ value: function unWrapElement() {
346
+ var wrapper = this.elementContainer; // if there is a custom wrapper, we jusy need to remove the class and style
347
+
348
+ if (this.customWrapper) {
349
+ wrapper.classList.remove('simpleParallax');
350
+ wrapper.style.overflow = '';
351
+ } else {
352
+ wrapper.replaceWith.apply(wrapper, _toConsumableArray(wrapper.childNodes));
353
+ }
354
+ } // apply default style on element
355
+
356
+ }, {
357
+ key: "setTransformCSS",
358
+ value: function setTransformCSS() {
359
+ if (this.settings.overflow === false) {
360
+ // if overflow option is set to false
361
+ // add scale style so the image can be translated without getting out of its container
362
+ this.element.style[helpers_cssTransform] = "scale(".concat(this.settings.scale, ")");
363
+ } // add will-change CSS property to improve perfomance
364
+
365
+
366
+ this.element.style.willChange = 'transform';
367
+ } // apply the transition effet
368
+
369
+ }, {
370
+ key: "setTransitionCSS",
371
+ value: function setTransitionCSS() {
372
+ // add transition option
373
+ this.element.style.transition = "transform ".concat(this.settings.delay, "s ").concat(this.settings.transition);
374
+ } // remove style of the element
375
+
376
+ }, {
377
+ key: "unSetStyle",
378
+ value: function unSetStyle() {
379
+ // remove will change inline style
380
+ this.element.style.willChange = '';
381
+ this.element.style[helpers_cssTransform] = '';
382
+ this.element.style.transition = '';
383
+ } // get the current element offset
384
+
385
+ }, {
386
+ key: "getElementOffset",
387
+ value: function getElementOffset() {
388
+ // get position of the element
389
+ var positions = this.elementContainer.getBoundingClientRect(); // get height
390
+
391
+ this.elementHeight = positions.height; // get offset top
392
+
393
+ this.elementTop = positions.top + viewport.positions.top; // if there is a custom container
394
+
395
+ if (this.settings.customContainer) {
396
+ // we need to do some calculation to get the position from the parent rather than the viewport
397
+ var parentPositions = this.settings.customContainer.getBoundingClientRect();
398
+ this.elementTop = positions.top - parentPositions.top + viewport.positions.top;
399
+ } // get offset bottom
400
+
401
+
402
+ this.elementBottom = this.elementHeight + this.elementTop;
403
+ } // build the Threshold array to cater change for every pixel scrolled
404
+
405
+ }, {
406
+ key: "buildThresholdList",
407
+ value: function buildThresholdList() {
408
+ var thresholds = [];
409
+
410
+ for (var i = 1.0; i <= this.elementHeight; i++) {
411
+ var ratio = i / this.elementHeight;
412
+ thresholds.push(ratio);
413
+ }
414
+
415
+ return thresholds;
416
+ } // create the Intersection Observer
417
+
418
+ }, {
419
+ key: "intersectionObserver",
420
+ value: function intersectionObserver() {
421
+ var options = {
422
+ root: null,
423
+ threshold: this.buildThresholdList()
424
+ };
425
+ this.observer = new IntersectionObserver(this.intersectionObserverCallback.bind(this), options);
426
+ this.observer.observe(this.element);
427
+ } // Intersection Observer Callback to set the element at visible state or not
428
+
429
+ }, {
430
+ key: "intersectionObserverCallback",
431
+ value: function intersectionObserverCallback(entries) {
432
+ var _this3 = this;
433
+
434
+ entries.forEach(function (entry) {
435
+ if (entry.isIntersecting) {
436
+ _this3.isVisible = true;
437
+ } else {
438
+ _this3.isVisible = false;
439
+ }
440
+ });
441
+ } // check if the current element is visible in the Viewport
442
+ // for browser that not support Intersection Observer API
443
+
444
+ }, {
445
+ key: "checkIfVisible",
446
+ value: function checkIfVisible() {
447
+ return this.elementBottom > viewport.positions.top && this.elementTop < viewport.positions.bottom;
448
+ } // calculate the range between image will be translated
449
+
450
+ }, {
451
+ key: "getRangeMax",
452
+ value: function getRangeMax() {
453
+ // get the real height of the image without scale
454
+ var elementImageHeight = this.element.clientHeight; // range is calculate with the image height by the scale
455
+
456
+ this.rangeMax = elementImageHeight * this.settings.scale - elementImageHeight;
457
+ } // get the percentage and the translate value to apply on the element
458
+
459
+ }, {
460
+ key: "getTranslateValue",
461
+ value: function getTranslateValue() {
462
+ // calculate the % position of the element comparing to the viewport
463
+ // rounding percentage to a 1 number float to avoid unn unnecessary calculation
464
+ var percentage = ((viewport.positions.bottom - this.elementTop) / ((viewport.positions.height + this.elementHeight) / 100)).toFixed(1); // sometime the percentage exceeds 100 or goes below 0
465
+
466
+ percentage = Math.min(100, Math.max(0, percentage)); // if a maxTransition has been set, we round the percentage to that number
467
+
468
+ if (this.settings.maxTransition !== 0 && percentage > this.settings.maxTransition) {
469
+ percentage = this.settings.maxTransition;
470
+ } // sometime the same percentage is returned
471
+ // if so we don't do aything
472
+
473
+
474
+ if (this.oldPercentage === percentage) {
475
+ return false;
476
+ } // if not range max is set, recalculate it
477
+
478
+
479
+ if (!this.rangeMax) {
480
+ this.getRangeMax();
481
+ } // transform this % into the max range of the element
482
+ // rounding translateValue to a non float int - as minimum pixel for browser to render is 1 (no 0.5)
483
+
484
+
485
+ this.translateValue = (percentage / 100 * this.rangeMax - this.rangeMax / 2).toFixed(0); // sometime the same translate value is returned
486
+ // if so we don't do aything
487
+
488
+ if (this.oldTranslateValue === this.translateValue) {
489
+ return false;
490
+ } // store the current percentage
491
+
492
+
493
+ this.oldPercentage = percentage;
494
+ this.oldTranslateValue = this.translateValue;
495
+ return true;
496
+ } // animate the image
497
+
498
+ }, {
499
+ key: "animate",
500
+ value: function animate() {
501
+ var translateValueY = 0;
502
+ var translateValueX = 0;
503
+ var inlineCss;
504
+
505
+ if (this.settings.orientation.includes('left') || this.settings.orientation.includes('right')) {
506
+ // if orientation option is left or right
507
+ // use horizontal axe - X axe
508
+ translateValueX = "".concat(this.settings.orientation.includes('left') ? this.translateValue * -1 : this.translateValue, "px");
509
+ }
510
+
511
+ if (this.settings.orientation.includes('up') || this.settings.orientation.includes('down')) {
512
+ // if orientation option is up or down
513
+ // use vertical axe - Y axe
514
+ translateValueY = "".concat(this.settings.orientation.includes('up') ? this.translateValue * -1 : this.translateValue, "px");
515
+ } // set style to apply to the element
516
+
517
+
518
+ if (this.settings.overflow === false) {
519
+ // if overflow option is set to false
520
+ // add the scale style
521
+ inlineCss = "translate3d(".concat(translateValueX, ", ").concat(translateValueY, ", 0) scale(").concat(this.settings.scale, ")");
522
+ } else {
523
+ inlineCss = "translate3d(".concat(translateValueX, ", ").concat(translateValueY, ", 0)");
524
+ } // add style on the element using the adequate CSS transform
525
+
526
+
527
+ this.element.style[helpers_cssTransform] = inlineCss;
528
+ }
529
+ }]);
530
+
531
+ return ParallaxInstance;
532
+ }();
533
+
534
+ /* harmony default export */ var parallax = (parallax_ParallaxInstance);
535
+ // CONCATENATED MODULE: ./src/simpleParallax.js
536
+ function simpleParallax_toConsumableArray(arr) { return simpleParallax_arrayWithoutHoles(arr) || simpleParallax_iterableToArray(arr) || simpleParallax_unsupportedIterableToArray(arr) || simpleParallax_nonIterableSpread(); }
537
+
538
+ function simpleParallax_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
539
+
540
+ function simpleParallax_iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
541
+
542
+ function simpleParallax_arrayWithoutHoles(arr) { if (Array.isArray(arr)) return simpleParallax_arrayLikeToArray(arr); }
543
+
544
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || simpleParallax_unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
545
+
546
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
547
+
548
+ function simpleParallax_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return simpleParallax_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return simpleParallax_arrayLikeToArray(o, minLen); }
549
+
550
+ function simpleParallax_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
551
+
552
+ function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
553
+
554
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
555
+
556
+ function simpleParallax_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
557
+
558
+ function simpleParallax_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
559
+
560
+ function simpleParallax_createClass(Constructor, protoProps, staticProps) { if (protoProps) simpleParallax_defineProperties(Constructor.prototype, protoProps); if (staticProps) simpleParallax_defineProperties(Constructor, staticProps); return Constructor; }
561
+
562
+
563
+
564
+
565
+
566
+ var isInit = false;
567
+ var instances = [];
568
+ var frameID;
569
+ var resizeID;
570
+
571
+ var simpleParallax_SimpleParallax = /*#__PURE__*/function () {
572
+ function SimpleParallax(elements, options) {
573
+ simpleParallax_classCallCheck(this, SimpleParallax);
574
+
575
+ if (!elements) return; // check if the browser support simpleParallax
576
+
577
+ if (!helpers_isSupportedBrowser()) return;
578
+ this.elements = helpers_convertToArray(elements);
579
+ this.defaults = {
580
+ delay: 0,
581
+ orientation: 'up',
582
+ scale: 1.3,
583
+ overflow: false,
584
+ transition: 'cubic-bezier(0,0,0,1)',
585
+ customContainer: '',
586
+ customWrapper: '',
587
+ maxTransition: 0
588
+ };
589
+ this.settings = Object.assign(this.defaults, options);
590
+
591
+ if (this.settings.customContainer) {
592
+ var _convertToArray = helpers_convertToArray(this.settings.customContainer);
593
+
594
+ var _convertToArray2 = _slicedToArray(_convertToArray, 1);
595
+
596
+ this.customContainer = _convertToArray2[0];
597
+ }
598
+
599
+ this.lastPosition = -1;
600
+ this.resizeIsDone = this.resizeIsDone.bind(this);
601
+ this.refresh = this.refresh.bind(this);
602
+ this.proceedRequestAnimationFrame = this.proceedRequestAnimationFrame.bind(this);
603
+ this.init();
604
+ }
605
+
606
+ simpleParallax_createClass(SimpleParallax, [{
607
+ key: "init",
608
+ value: function init() {
609
+ var _this = this;
610
+
611
+ viewport.setViewportAll(this.customContainer);
612
+ instances = [].concat(simpleParallax_toConsumableArray(this.elements.map(function (element) {
613
+ return new parallax(element, _this.settings);
614
+ })), simpleParallax_toConsumableArray(instances)); // update the instance length
615
+ // instancesLength = instances.length;
616
+ // only if this is the first simpleParallax init
617
+
618
+ if (!isInit) {
619
+ // init the frame
620
+ this.proceedRequestAnimationFrame();
621
+ window.addEventListener('resize', this.resizeIsDone);
622
+ isInit = true;
623
+ }
624
+ } // wait for resize to be completely done
625
+
626
+ }, {
627
+ key: "resizeIsDone",
628
+ value: function resizeIsDone() {
629
+ clearTimeout(resizeID);
630
+ resizeID = setTimeout(this.refresh, 200);
631
+ } // animation frame
632
+
633
+ }, {
634
+ key: "proceedRequestAnimationFrame",
635
+ value: function proceedRequestAnimationFrame() {
636
+ var _this2 = this;
637
+
638
+ // get the offset top of the viewport
639
+ viewport.setViewportTop(this.customContainer);
640
+
641
+ if (this.lastPosition === viewport.positions.top) {
642
+ // if last position if the same than the curent one
643
+ // callback the animationFrame and exit the current loop
644
+ frameID = window.requestAnimationFrame(this.proceedRequestAnimationFrame);
645
+ return;
646
+ } // get the offset bottom of the viewport
647
+
648
+
649
+ viewport.setViewportBottom(); // proceed with the current element
650
+
651
+ instances.forEach(function (instance) {
652
+ _this2.proceedElement(instance);
653
+ }); // callback the animationFrame
654
+
655
+ frameID = window.requestAnimationFrame(this.proceedRequestAnimationFrame); // store the last position
656
+
657
+ this.lastPosition = viewport.positions.top;
658
+ } // proceed the element
659
+
660
+ }, {
661
+ key: "proceedElement",
662
+ value: function proceedElement(instance) {
663
+ var isVisible = false; // if this is a custom container
664
+ // use old function to check if element visible
665
+
666
+ if (this.customContainer) {
667
+ isVisible = instance.checkIfVisible(); // else, use response from Intersection Observer API Callback
668
+ } else {
669
+ isVisible = instance.isVisible;
670
+ } // if element not visible, stop it
671
+
672
+
673
+ if (!isVisible) return; // if percentage is equal to the last one, no need to continue
674
+
675
+ if (!instance.getTranslateValue()) {
676
+ return;
677
+ } // animate the image
678
+
679
+
680
+ instance.animate();
681
+ }
682
+ }, {
683
+ key: "refresh",
684
+ value: function refresh() {
685
+ // re-get all the viewport positions
686
+ viewport.setViewportAll(this.customContainer);
687
+ instances.forEach(function (instance) {
688
+ // re-get the current element offset
689
+ instance.getElementOffset(); // re-get the range if the current element
690
+
691
+ instance.getRangeMax();
692
+ }); // force the request animation frame to fired
693
+
694
+ this.lastPosition = -1;
695
+ }
696
+ }, {
697
+ key: "destroy",
698
+ value: function destroy() {
699
+ var _this3 = this;
700
+
701
+ var instancesToDestroy = []; // remove all instances that need to be destroyed from the instances array
702
+
703
+ instances = instances.filter(function (instance) {
704
+ if (_this3.elements.includes(instance.element)) {
705
+ // push instance that need to be destroyed into instancesToDestroy
706
+ instancesToDestroy.push(instance);
707
+ return false;
708
+ }
709
+
710
+ return instance;
711
+ });
712
+ instancesToDestroy.forEach(function (instance) {
713
+ // unset style
714
+ instance.unSetStyle();
715
+
716
+ if (_this3.settings.overflow === false) {
717
+ // if overflow option is set to false
718
+ // unwrap the element from .simpleParallax wrapper container
719
+ instance.unWrapElement();
720
+ }
721
+ }); // if no instances left, remove the raf and resize event = simpleParallax fully destroyed
722
+
723
+ if (!instances.length) {
724
+ // cancel the animation frame
725
+ window.cancelAnimationFrame(frameID); // detach the resize event
726
+
727
+ window.removeEventListener('resize', this.refresh);
728
+ }
729
+ }
730
+ }]);
731
+
732
+ return SimpleParallax;
733
+ }();
734
+
735
+
736
+
737
+ /***/ })
738
+ /******/ ])["default"];
739
+ });
js/lib/simpleparallax.min.js ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ /*!
2
+ * simpleParallax - simpleParallax is a simple JavaScript library that gives your website parallax animations on any images or videos,
3
+ * @date: 21-06-2020 13:22:47,
4
+ * @version: 5.5.1,
5
+ * @link: https://simpleparallax.com/
6
+ */
7
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("simpleParallax",[],e):"object"==typeof exports?exports.simpleParallax=e():t.simpleParallax=e()}(window,(function(){return function(t){var e={};function n(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return t[i].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(i,o,function(e){return t[e]}.bind(null,o));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=0)}([function(t,e,n){"use strict";n.r(e),n.d(e,"default",(function(){return x}));var i=function(){return Element.prototype.closest&&"IntersectionObserver"in window};function o(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}var r=new(function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.positions={top:0,bottom:0,height:0}}var e,n,i;return e=t,(n=[{key:"setViewportTop",value:function(t){return this.positions.top=t?t.scrollTop:window.pageYOffset,this.positions}},{key:"setViewportBottom",value:function(){return this.positions.bottom=this.positions.top+this.positions.height,this.positions}},{key:"setViewportAll",value:function(t){return this.positions.top=t?t.scrollTop:window.pageYOffset,this.positions.height=t?t.clientHeight:document.documentElement.clientHeight,this.positions.bottom=this.positions.top+this.positions.height,this.positions}}])&&o(e.prototype,n),i&&o(e,i),t}()),s=function(t){return NodeList.prototype.isPrototypeOf(t)||HTMLCollection.prototype.isPrototypeOf(t)?Array.from(t):"string"==typeof t||t instanceof String?document.querySelectorAll(t):[t]},a=function(){for(var t,e="transform webkitTransform mozTransform oTransform msTransform".split(" "),n=0;void 0===t;)t=void 0!==document.createElement("div").style[e[n]]?e[n]:void 0,n+=1;return t}(),l=function(t){return"video"===t.tagName.toLowerCase()||!!t&&(!!t.complete&&(void 0===t.naturalWidth||0!==t.naturalWidth))};function u(t){return function(t){if(Array.isArray(t))return c(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return c(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return c(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}function h(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}var f=function(){function t(e,n){var i=this;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.element=e,this.elementContainer=e,this.settings=n,this.isVisible=!0,this.isInit=!1,this.oldTranslateValue=-1,this.init=this.init.bind(this),this.customWrapper=this.settings.customWrapper&&this.element.closest(this.settings.customWrapper)?this.element.closest(this.settings.customWrapper):null,l(e)?this.init():this.element.addEventListener("load",(function(){setTimeout((function(){i.init(!0)}),50)}))}var e,n,i;return e=t,(n=[{key:"init",value:function(t){var e=this;this.isInit||(t&&(this.rangeMax=null),this.element.closest(".simpleParallax")||(!1===this.settings.overflow&&this.wrapElement(this.element),this.setTransformCSS(),this.getElementOffset(),this.intersectionObserver(),this.getTranslateValue(),this.animate(),this.settings.delay>0&&setTimeout((function(){e.setTransitionCSS()}),10),this.isInit=!0))}},{key:"wrapElement",value:function(){var t=this.element.closest("picture")||this.element,e=this.customWrapper||document.createElement("div");e.classList.add("simpleParallax"),e.style.overflow="hidden",this.customWrapper||(t.parentNode.insertBefore(e,t),e.appendChild(t)),this.elementContainer=e}},{key:"unWrapElement",value:function(){var t=this.elementContainer;this.customWrapper?(t.classList.remove("simpleParallax"),t.style.overflow=""):t.replaceWith.apply(t,u(t.childNodes))}},{key:"setTransformCSS",value:function(){!1===this.settings.overflow&&(this.element.style[a]="scale(".concat(this.settings.scale,")")),this.element.style.willChange="transform"}},{key:"setTransitionCSS",value:function(){this.element.style.transition="transform ".concat(this.settings.delay,"s ").concat(this.settings.transition)}},{key:"unSetStyle",value:function(){this.element.style.willChange="",this.element.style[a]="",this.element.style.transition=""}},{key:"getElementOffset",value:function(){var t=this.elementContainer.getBoundingClientRect();if(this.elementHeight=t.height,this.elementTop=t.top+r.positions.top,this.settings.customContainer){var e=this.settings.customContainer.getBoundingClientRect();this.elementTop=t.top-e.top+r.positions.top}this.elementBottom=this.elementHeight+this.elementTop}},{key:"buildThresholdList",value:function(){for(var t=[],e=1;e<=this.elementHeight;e++){var n=e/this.elementHeight;t.push(n)}return t}},{key:"intersectionObserver",value:function(){var t={root:null,threshold:this.buildThresholdList()};this.observer=new IntersectionObserver(this.intersectionObserverCallback.bind(this),t),this.observer.observe(this.element)}},{key:"intersectionObserverCallback",value:function(t){var e=this;t.forEach((function(t){t.isIntersecting?e.isVisible=!0:e.isVisible=!1}))}},{key:"checkIfVisible",value:function(){return this.elementBottom>r.positions.top&&this.elementTop<r.positions.bottom}},{key:"getRangeMax",value:function(){var t=this.element.clientHeight;this.rangeMax=t*this.settings.scale-t}},{key:"getTranslateValue",value:function(){var t=((r.positions.bottom-this.elementTop)/((r.positions.height+this.elementHeight)/100)).toFixed(1);return t=Math.min(100,Math.max(0,t)),0!==this.settings.maxTransition&&t>this.settings.maxTransition&&(t=this.settings.maxTransition),this.oldPercentage!==t&&(this.rangeMax||this.getRangeMax(),this.translateValue=(t/100*this.rangeMax-this.rangeMax/2).toFixed(0),this.oldTranslateValue!==this.translateValue&&(this.oldPercentage=t,this.oldTranslateValue=this.translateValue,!0))}},{key:"animate",value:function(){var t,e=0,n=0;(this.settings.orientation.includes("left")||this.settings.orientation.includes("right"))&&(n="".concat(this.settings.orientation.includes("left")?-1*this.translateValue:this.translateValue,"px")),(this.settings.orientation.includes("up")||this.settings.orientation.includes("down"))&&(e="".concat(this.settings.orientation.includes("up")?-1*this.translateValue:this.translateValue,"px")),t=!1===this.settings.overflow?"translate3d(".concat(n,", ").concat(e,", 0) scale(").concat(this.settings.scale,")"):"translate3d(".concat(n,", ").concat(e,", 0)"),this.element.style[a]=t}}])&&h(e.prototype,n),i&&h(e,i),t}();function m(t){return function(t){if(Array.isArray(t))return y(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||d(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],i=!0,o=!1,r=void 0;try{for(var s,a=t[Symbol.iterator]();!(i=(s=a.next()).done)&&(n.push(s.value),!e||n.length!==e);i=!0);}catch(t){o=!0,r=t}finally{try{i||null==a.return||a.return()}finally{if(o)throw r}}return n}(t,e)||d(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(t,e){if(t){if("string"==typeof t)return y(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?y(t,e):void 0}}function y(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}function v(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}var g,b,w=!1,T=[],x=function(){function t(e,n){if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e&&i()){if(this.elements=s(e),this.defaults={delay:0,orientation:"up",scale:1.3,overflow:!1,transition:"cubic-bezier(0,0,0,1)",customContainer:"",customWrapper:"",maxTransition:0},this.settings=Object.assign(this.defaults,n),this.settings.customContainer){var o=p(s(this.settings.customContainer),1);this.customContainer=o[0]}this.lastPosition=-1,this.resizeIsDone=this.resizeIsDone.bind(this),this.refresh=this.refresh.bind(this),this.proceedRequestAnimationFrame=this.proceedRequestAnimationFrame.bind(this),this.init()}}var e,n,o;return e=t,(n=[{key:"init",value:function(){var t=this;r.setViewportAll(this.customContainer),T=[].concat(m(this.elements.map((function(e){return new f(e,t.settings)}))),m(T)),w||(this.proceedRequestAnimationFrame(),window.addEventListener("resize",this.resizeIsDone),w=!0)}},{key:"resizeIsDone",value:function(){clearTimeout(b),b=setTimeout(this.refresh,200)}},{key:"proceedRequestAnimationFrame",value:function(){var t=this;r.setViewportTop(this.customContainer),this.lastPosition!==r.positions.top?(r.setViewportBottom(),T.forEach((function(e){t.proceedElement(e)})),g=window.requestAnimationFrame(this.proceedRequestAnimationFrame),this.lastPosition=r.positions.top):g=window.requestAnimationFrame(this.proceedRequestAnimationFrame)}},{key:"proceedElement",value:function(t){(this.customContainer?t.checkIfVisible():t.isVisible)&&t.getTranslateValue()&&t.animate()}},{key:"refresh",value:function(){r.setViewportAll(this.customContainer),T.forEach((function(t){t.getElementOffset(),t.getRangeMax()})),this.lastPosition=-1}},{key:"destroy",value:function(){var t=this,e=[];T=T.filter((function(n){return t.elements.includes(n.element)?(e.push(n),!1):n})),e.forEach((function(e){e.unSetStyle(),!1===t.settings.overflow&&e.unWrapElement()})),T.length||(window.cancelAnimationFrame(g),window.removeEventListener("resize",this.refresh))}}])&&v(e.prototype,n),o&&v(e,o),t}()}]).default}));
js/{siteorigin-parallax.js → siteorigin-legacy-parallax.js} RENAMED
File without changes
js/{siteorigin-parallax.min.js → siteorigin-legacy-parallax.min.js} RENAMED
File without changes
js/siteorigin-panels.js CHANGED
@@ -171,7 +171,13 @@ module.exports = panels.view.dialog.extend( {
171
 
172
  events: {
173
  'click .so-close': 'closeDialog',
174
- 'click .so-restore': 'restoreSelectedEntry'
 
 
 
 
 
 
175
  },
176
 
177
  initializeDialog: function () {
@@ -179,6 +185,10 @@ module.exports = panels.view.dialog.extend( {
179
 
180
  this.on( 'open_dialog', this.setCurrentEntry, this );
181
  this.on( 'open_dialog', this.renderHistoryEntries, this );
 
 
 
 
182
  },
183
 
184
  render: function () {
@@ -256,7 +266,11 @@ module.exports = panels.view.dialog.extend( {
256
  .prependTo( c );
257
 
258
  // Handle loading and selecting
259
- c.find( '.history-entry' ).on( 'click', function() {
 
 
 
 
260
  var $$ = jQuery( this );
261
  c.find( '.history-entry' ).not( $$ ).removeClass( 'so-selected' );
262
  $$.addClass( 'so-selected' );
@@ -404,7 +418,14 @@ module.exports = panels.view.dialog.extend( {
404
  'keyup .so-sidebar-search': 'searchHandler',
405
 
406
  // The directory items
407
- 'click .so-screenshot, .so-title': 'directoryItemClickHandler'
 
 
 
 
 
 
 
408
  },
409
 
410
  /**
@@ -418,7 +439,10 @@ module.exports = panels.view.dialog.extend( {
418
  thisView.$( '.so-status' ).removeClass( 'so-panels-loading' );
419
  } );
420
 
421
- this.on( 'button_click', this.toolbarButtonClick, this );
 
 
 
422
  },
423
 
424
  /**
@@ -426,7 +450,7 @@ module.exports = panels.view.dialog.extend( {
426
  */
427
  render: function () {
428
  this.renderDialog( this.parseDialogContent( $( '#siteorigin-panels-dialog-prebuilt' ).html(), {} ) );
429
-
430
  this.initToolbar();
431
  },
432
 
@@ -824,12 +848,21 @@ module.exports = panels.view.dialog.extend({
824
 
825
  events: {
826
  'click .so-close': 'closeDialog',
 
 
 
827
 
828
  // Toolbar buttons
829
  'click .so-toolbar .so-save': 'saveHandler',
830
  'click .so-toolbar .so-insert': 'insertHandler',
831
  'click .so-toolbar .so-delete': 'deleteHandler',
 
 
 
832
  'click .so-toolbar .so-duplicate': 'duplicateHandler',
 
 
 
833
 
834
  // Changing the row
835
  'change .row-set-form > *': 'setCellsFromForm',
@@ -868,6 +901,10 @@ module.exports = panels.view.dialog.extend({
868
  this.openSelectedCellStyles();
869
  }, this);
870
 
 
 
 
 
871
  // This is the default row layout
872
  this.row = {
873
  cells: new panels.collection.cells([{weight: 0.5}, {weight: 0.5}]),
@@ -1630,12 +1667,27 @@ module.exports = panels.view.dialog.extend( {
1630
 
1631
  events: {
1632
  'click .so-close': 'saveHandler',
 
 
 
1633
  'click .so-nav.so-previous': 'navToPrevious',
 
 
 
1634
  'click .so-nav.so-next': 'navToNext',
 
 
 
1635
 
1636
  // Action handlers
1637
  'click .so-toolbar .so-delete': 'deleteHandler',
1638
- 'click .so-toolbar .so-duplicate': 'duplicateHandler'
 
 
 
 
 
 
1639
  },
1640
 
1641
  initializeDialog: function () {
@@ -1666,6 +1718,18 @@ module.exports = panels.view.dialog.extend( {
1666
  this.$( '.so-title' ).text( this.model.getWidgetField( 'title' ) );
1667
  }
1668
  }.bind( this ) );
 
 
 
 
 
 
 
 
 
 
 
 
1669
  },
1670
 
1671
  /**
@@ -1910,7 +1974,7 @@ module.exports = panels.view.dialog.extend( {
1910
 
1911
  } );
1912
 
1913
- },{"../view/widgets/js-widget":32}],10:[function(require,module,exports){
1914
  var panels = window.panels, $ = jQuery;
1915
 
1916
  module.exports = panels.view.dialog.extend( {
@@ -1925,7 +1989,11 @@ module.exports = panels.view.dialog.extend( {
1925
  events: {
1926
  'click .so-close': 'closeDialog',
1927
  'click .widget-type': 'widgetClickHandler',
1928
- 'keyup .so-sidebar-search': 'searchHandler'
 
 
 
 
1929
  },
1930
 
1931
  /**
@@ -1938,6 +2006,7 @@ module.exports = panels.view.dialog.extend( {
1938
  this.filterWidgets( this.filter );
1939
  }, this );
1940
 
 
1941
  this.on( 'open_dialog_complete', function () {
1942
  // Clear the search and re-filter the widgets when we open the dialog
1943
  this.$( '.so-sidebar-search' ).val( '' ).trigger( 'focus' );
@@ -2152,6 +2221,21 @@ module.exports = panels.view.dialog.extend( {
2152
  } );
2153
 
2154
  },{}],11:[function(require,module,exports){
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2155
  module.exports = {
2156
  /**
2157
  * Check if we have copy paste available.
@@ -2218,7 +2302,7 @@ module.exports = {
2218
  },
2219
  };
2220
 
2221
- },{}],12:[function(require,module,exports){
2222
  module.exports = {
2223
  isBlockEditor: function() {
2224
  return typeof wp.blocks !== 'undefined';
@@ -2229,7 +2313,7 @@ module.exports = {
2229
  },
2230
  }
2231
 
2232
- },{}],13:[function(require,module,exports){
2233
  module.exports = {
2234
  /**
2235
  * Lock window scrolling for the main overlay
@@ -2276,7 +2360,7 @@ module.exports = {
2276
  },
2277
  };
2278
 
2279
- },{}],14:[function(require,module,exports){
2280
  /*
2281
  This is a modified version of https://github.com/underdogio/backbone-serialize/
2282
  */
@@ -2387,7 +2471,7 @@ module.exports = {
2387
  }
2388
  };
2389
 
2390
- },{}],15:[function(require,module,exports){
2391
  module.exports = {
2392
 
2393
  generateUUID: function(){
@@ -2424,7 +2508,7 @@ module.exports = {
2424
 
2425
  }
2426
 
2427
- },{}],16:[function(require,module,exports){
2428
  /* global _, jQuery, panels */
2429
 
2430
  var panels = window.panels, $ = jQuery;
@@ -2513,7 +2597,7 @@ module.exports = function ( config, force ) {
2513
  } );
2514
  };
2515
 
2516
- },{}],17:[function(require,module,exports){
2517
  /**
2518
  * Everything we need for SiteOrigin Page Builder.
2519
  *
@@ -2536,6 +2620,7 @@ panels.helpers.utils = require( './helpers/utils' );
2536
  panels.helpers.editor = require( './helpers/editor' );
2537
  panels.helpers.serialize = require( './helpers/serialize' );
2538
  panels.helpers.pageScroll = require( './helpers/page-scroll' );
 
2539
 
2540
  // The models
2541
  panels.model = {};
@@ -2688,7 +2773,7 @@ jQuery( function ( $ ) {
2688
  });
2689
  } );
2690
 
2691
- },{"./collection/cells":1,"./collection/history-entries":2,"./collection/rows":3,"./collection/widgets":4,"./dialog/builder":5,"./dialog/history":6,"./dialog/prebuilt":7,"./dialog/row":8,"./dialog/widget":9,"./dialog/widgets":10,"./helpers/clipboard":11,"./helpers/editor":12,"./helpers/page-scroll":13,"./helpers/serialize":14,"./helpers/utils":15,"./jquery/setup-builder-widget":16,"./model/builder":18,"./model/cell":19,"./model/history-entry":20,"./model/row":21,"./model/widget":22,"./utils/menu":23,"./view/builder":24,"./view/cell":25,"./view/dialog":26,"./view/live-editor":27,"./view/row":28,"./view/styles":29,"./view/widget":30}],18:[function(require,module,exports){
2692
  module.exports = Backbone.Model.extend({
2693
  layoutPosition: {
2694
  BEFORE: 'before',
@@ -3229,7 +3314,7 @@ module.exports = Backbone.Model.extend({
3229
  }
3230
  } );
3231
 
3232
- },{}],19:[function(require,module,exports){
3233
  module.exports = Backbone.Model.extend( {
3234
  /* A collection of widgets */
3235
  widgets: {},
@@ -3286,7 +3371,7 @@ module.exports = Backbone.Model.extend( {
3286
 
3287
  } );
3288
 
3289
- },{}],20:[function(require,module,exports){
3290
  module.exports = Backbone.Model.extend( {
3291
  defaults: {
3292
  text: '',
@@ -3296,7 +3381,7 @@ module.exports = Backbone.Model.extend( {
3296
  }
3297
  } );
3298
 
3299
- },{}],21:[function(require,module,exports){
3300
  module.exports = Backbone.Model.extend( {
3301
  /* The builder model */
3302
  builder: null,
@@ -3420,7 +3505,7 @@ module.exports = Backbone.Model.extend( {
3420
  }
3421
  } );
3422
 
3423
- },{}],22:[function(require,module,exports){
3424
  /**
3425
  * Model for an instance of a widget
3426
  */
@@ -3624,7 +3709,7 @@ module.exports = Backbone.Model.extend( {
3624
 
3625
  } );
3626
 
3627
- },{}],23:[function(require,module,exports){
3628
  var panels = window.panels, $ = jQuery;
3629
 
3630
  module.exports = Backbone.View.extend( {
@@ -3945,7 +4030,7 @@ module.exports = Backbone.View.extend( {
3945
 
3946
  } );
3947
 
3948
- },{}],24:[function(require,module,exports){
3949
  var panels = window.panels, $ = jQuery;
3950
 
3951
  module.exports = Backbone.View.extend( {
@@ -3972,7 +4057,10 @@ module.exports = Backbone.View.extend( {
3972
  'click .so-tool-button.so-row-add': 'displayAddRowDialog',
3973
  'click .so-tool-button.so-prebuilt-add': 'displayAddPrebuiltDialog',
3974
  'click .so-tool-button.so-history': 'displayHistoryDialog',
3975
- 'click .so-tool-button.so-live-editor': 'displayLiveEditor'
 
 
 
3976
  },
3977
 
3978
  /* A row collection */
@@ -4065,7 +4153,6 @@ module.exports = Backbone.View.extend( {
4065
  this.displayAttachedBuilder( { confirm: false } );
4066
  }, this );
4067
  }
4068
-
4069
  return this;
4070
  },
4071
 
@@ -4202,9 +4289,13 @@ module.exports = Backbone.View.extend( {
4202
 
4203
  // Switch back to the standard editor
4204
  if ( this.supports( 'revertToEditor' ) ) {
4205
- metabox.find( '.so-switch-to-standard' ).on( 'click', function( e ) {
4206
  e.preventDefault();
4207
 
 
 
 
 
4208
  if ( !confirm( panelsOptions.loc.confirm_stop_builder ) ) {
4209
  return;
4210
  }
@@ -4790,7 +4881,7 @@ module.exports = Backbone.View.extend( {
4790
 
4791
  // Wrap the call
4792
  $( window ).off( 'scroll', event.handler );
4793
- $( window ).bind( 'scroll', function( e ) {
4794
  if ( !this.attachedVisible ) {
4795
  event.handler( e );
4796
  }
@@ -4926,7 +5017,7 @@ module.exports = Backbone.View.extend( {
4926
  },
4927
  } );
4928
 
4929
- },{}],25:[function(require,module,exports){
4930
  var panels = window.panels, $ = jQuery;
4931
 
4932
  module.exports = Backbone.View.extend( {
@@ -5314,7 +5405,7 @@ module.exports = Backbone.View.extend( {
5314
  }
5315
  } );
5316
 
5317
- },{}],26:[function(require,module,exports){
5318
  var panels = window.panels, $ = jQuery;
5319
 
5320
  module.exports = Backbone.View.extend( {
@@ -5333,8 +5424,17 @@ module.exports = Backbone.View.extend( {
5333
 
5334
  events: {
5335
  'click .so-close': 'closeDialog',
 
 
 
5336
  'click .so-nav.so-previous': 'navToPrevious',
 
 
 
5337
  'click .so-nav.so-next': 'navToNext',
 
 
 
5338
  },
5339
 
5340
  initialize: function () {
@@ -5529,9 +5629,13 @@ module.exports = Backbone.View.extend( {
5529
  initToolbar: function () {
5530
  // Trigger simplified click event for elements marked as toolbar buttons.
5531
  var buttons = this.$( '.so-toolbar .so-buttons .so-toolbar-button' );
5532
- buttons.on( 'click', function( e ) {
5533
  e.preventDefault();
5534
 
 
 
 
 
5535
  this.trigger( 'button_click', $( e.currentTarget ) );
5536
  }.bind( this ) );
5537
 
@@ -5624,16 +5728,20 @@ module.exports = Backbone.View.extend( {
5624
 
5625
  if ( nextDialog === null ) {
5626
  nextButton.hide();
5627
- }
5628
- else if ( nextDialog === false ) {
5629
  nextButton.addClass( 'so-disabled' );
 
 
 
5630
  }
5631
 
5632
  if ( prevDialog === null ) {
5633
  prevButton.hide();
5634
- }
5635
- else if ( prevDialog === false ) {
5636
  prevButton.addClass( 'so-disabled' );
 
 
 
5637
  }
5638
  },
5639
 
@@ -5921,7 +6029,7 @@ module.exports = Backbone.View.extend( {
5921
 
5922
  } );
5923
 
5924
- },{}],27:[function(require,module,exports){
5925
  var panels = window.panels, $ = jQuery;
5926
 
5927
  module.exports = Backbone.View.extend( {
@@ -5938,7 +6046,10 @@ module.exports = Backbone.View.extend( {
5938
  'click .live-editor-close': 'close',
5939
  'click .live-editor-save': 'closeAndSave',
5940
  'click .live-editor-collapse': 'collapse',
5941
- 'click .live-editor-mode': 'mobileToggle'
 
 
 
5942
  },
5943
 
5944
  initialize: function ( options ) {
@@ -5981,7 +6092,8 @@ module.exports = Backbone.View.extend( {
5981
 
5982
  // Handle highlighting the relevant widget in the live editor preview
5983
  var liveEditorView = this;
5984
- this.$el.on( 'mouseenter', '.so-widget-wrapper', function () {
 
5985
  var $$ = $( this ),
5986
  previewWidget = $$.data( 'live-editor-preview-widget' );
5987
 
@@ -5991,7 +6103,7 @@ module.exports = Backbone.View.extend( {
5991
  }
5992
  } );
5993
 
5994
- this.$el.on( 'mouseleave', '.so-widget-wrapper', function () {
5995
  this.resetHighlights();
5996
  }.bind(this) );
5997
 
@@ -6031,6 +6143,8 @@ module.exports = Backbone.View.extend( {
6031
  this.$el.show();
6032
  this.refreshPreview( this.builder.model.getPanelsData() );
6033
 
 
 
6034
  // Move the builder view into the Live Editor
6035
  this.originalContainer = this.builder.$el.parent();
6036
  this.builder.$el.appendTo( this.$( '.so-live-editor-builder' ) );
@@ -6290,7 +6404,7 @@ module.exports = Backbone.View.extend( {
6290
  } )
6291
  .each( function ( i, el ) {
6292
  var $$ = $( el );
6293
- var widgetEdit = thisView.$( '.so-live-editor-builder .so-widget-wrapper' ).eq( $$.data( 'index' ) );
6294
  widgetEdit.data( 'live-editor-preview-widget', $$ );
6295
 
6296
  $$
@@ -6350,7 +6464,7 @@ module.exports = Backbone.View.extend( {
6350
  }
6351
  } );
6352
 
6353
- },{}],28:[function(require,module,exports){
6354
  var panels = window.panels, $ = jQuery;
6355
 
6356
  module.exports = Backbone.View.extend( {
@@ -6762,13 +6876,21 @@ module.exports = Backbone.View.extend( {
6762
  },
6763
  } );
6764
 
6765
- },{}],29:[function(require,module,exports){
6766
  var panels = window.panels, $ = jQuery;
6767
 
6768
  module.exports = Backbone.View.extend( {
6769
 
6770
  stylesLoaded: false,
6771
 
 
 
 
 
 
 
 
 
6772
  initialize: function () {
6773
 
6774
  },
@@ -6864,7 +6986,7 @@ module.exports = Backbone.View.extend( {
6864
  this.$( '.style-section-wrapper' ).each( function () {
6865
  var $s = $( this );
6866
 
6867
- $s.find( '.style-section-head' ).on( 'click', function( e ) {
6868
  e.preventDefault();
6869
  $s.find( '.style-section-fields' ).slideToggle( 'fast' );
6870
  } );
@@ -6929,8 +7051,10 @@ module.exports = Backbone.View.extend( {
6929
  } );
6930
  }
6931
 
6932
- frame.open();
 
6933
 
 
6934
  } );
6935
 
6936
  // Handle clicking on remove
@@ -7060,7 +7184,7 @@ module.exports = Backbone.View.extend( {
7060
 
7061
  } );
7062
 
7063
- },{}],30:[function(require,module,exports){
7064
  var panels = window.panels, $ = jQuery;
7065
 
7066
  module.exports = Backbone.View.extend( {
@@ -7078,7 +7202,10 @@ module.exports = Backbone.View.extend( {
7078
  'click .title h4': 'editHandler',
7079
  'touchend .title h4': 'editHandler',
7080
  'click .actions .widget-duplicate': 'duplicateHandler',
7081
- 'click .actions .widget-delete': 'deleteHandler'
 
 
 
7082
  },
7083
 
7084
  /**
@@ -7355,7 +7482,7 @@ module.exports = Backbone.View.extend( {
7355
 
7356
  } );
7357
 
7358
- },{}],31:[function(require,module,exports){
7359
  var $ = jQuery;
7360
 
7361
  var customHtmlWidget = {
@@ -7382,7 +7509,7 @@ var customHtmlWidget = {
7382
 
7383
  module.exports = customHtmlWidget;
7384
 
7385
- },{}],32:[function(require,module,exports){
7386
  var customHtmlWidget = require( './custom-html-widget' );
7387
  var mediaWidget = require( './media-widget' );
7388
  var textWidget = require( './text-widget' );
@@ -7420,7 +7547,7 @@ var jsWidget = {
7420
 
7421
  module.exports = jsWidget;
7422
 
7423
- },{"./custom-html-widget":31,"./media-widget":33,"./text-widget":34}],33:[function(require,module,exports){
7424
  var $ = jQuery;
7425
 
7426
  var mediaWidget = {
@@ -7460,7 +7587,7 @@ var mediaWidget = {
7460
 
7461
  module.exports = mediaWidget;
7462
 
7463
- },{}],34:[function(require,module,exports){
7464
  var $ = jQuery;
7465
 
7466
  var textWidget = {
@@ -7504,4 +7631,4 @@ var textWidget = {
7504
 
7505
  module.exports = textWidget;
7506
 
7507
- },{}]},{},[17]);
171
 
172
  events: {
173
  'click .so-close': 'closeDialog',
174
+ 'keyup .so-close': function( e ) {
175
+ panels.helpers.accessibility.triggerClickOnEnter( e );
176
+ },
177
+ 'click .so-restore': 'restoreSelectedEntry',
178
+ 'keyup .history-entry': function( e ) {
179
+ panels.helpers.accessibility.triggerClickOnEnter( e );
180
+ },
181
  },
182
 
183
  initializeDialog: function () {
185
 
186
  this.on( 'open_dialog', this.setCurrentEntry, this );
187
  this.on( 'open_dialog', this.renderHistoryEntries, this );
188
+
189
+ this.on( 'open_dialog_complete', function () {
190
+ this.$( '.history-entry' ).trigger( 'focus' );
191
+ } );
192
  },
193
 
194
  render: function () {
266
  .prependTo( c );
267
 
268
  // Handle loading and selecting
269
+ c.find( '.history-entry' ).on( 'click', function(e) {
270
+ if ( e.type == 'keyup' && e.which != 13 ) {
271
+ return;
272
+ }
273
+
274
  var $$ = jQuery( this );
275
  c.find( '.history-entry' ).not( $$ ).removeClass( 'so-selected' );
276
  $$.addClass( 'so-selected' );
418
  'keyup .so-sidebar-search': 'searchHandler',
419
 
420
  // The directory items
421
+ 'click .so-screenshot, .so-title': 'directoryItemClickHandler',
422
+ 'keyup .so-directory-item': 'clickTitleOnEnter',
423
+ },
424
+
425
+ clickTitleOnEnter: function( e ) {
426
+ if ( e.which == 13 ) {
427
+ $( e.target ).find( '.so-title' ).trigger( 'click' );
428
+ }
429
  },
430
 
431
  /**
439
  thisView.$( '.so-status' ).removeClass( 'so-panels-loading' );
440
  } );
441
 
442
+ this.on( 'open_dialog_complete', function () {
443
+ // Clear the search and re-filter the widgets when we open the dialog
444
+ this.$( '.so-sidebar-search' ).val( '' ).trigger( 'focus' );
445
+ } );
446
  },
447
 
448
  /**
450
  */
451
  render: function () {
452
  this.renderDialog( this.parseDialogContent( $( '#siteorigin-panels-dialog-prebuilt' ).html(), {} ) );
453
+ this.on( 'button_click', this.toolbarButtonClick, this );
454
  this.initToolbar();
455
  },
456
 
848
 
849
  events: {
850
  'click .so-close': 'closeDialog',
851
+ 'keyup .so-close': function( e ) {
852
+ panels.helpers.accessibility.triggerClickOnEnter( e );
853
+ },
854
 
855
  // Toolbar buttons
856
  'click .so-toolbar .so-save': 'saveHandler',
857
  'click .so-toolbar .so-insert': 'insertHandler',
858
  'click .so-toolbar .so-delete': 'deleteHandler',
859
+ 'keyup .so-toolbar .so-delete': function( e ) {
860
+ panels.helpers.accessibility.triggerClickOnEnter( e );
861
+ },
862
  'click .so-toolbar .so-duplicate': 'duplicateHandler',
863
+ 'keyup .so-toolbar .so-duplicate': function( e ) {
864
+ panels.helpers.accessibility.triggerClickOnEnter( e );
865
+ },
866
 
867
  // Changing the row
868
  'change .row-set-form > *': 'setCellsFromForm',
901
  this.openSelectedCellStyles();
902
  }, this);
903
 
904
+ this.on( 'open_dialog_complete', function() {
905
+ $( '.so-panels-dialog-wrapper .so-title' ).trigger( 'focus' );
906
+ } );
907
+
908
  // This is the default row layout
909
  this.row = {
910
  cells: new panels.collection.cells([{weight: 0.5}, {weight: 0.5}]),
1667
 
1668
  events: {
1669
  'click .so-close': 'saveHandler',
1670
+ 'keyup .so-close': function( e ) {
1671
+ panels.helpers.accessibility.triggerClickOnEnter( e );
1672
+ },
1673
  'click .so-nav.so-previous': 'navToPrevious',
1674
+ 'keyup .so-nav.so-previous': function( e ) {
1675
+ panels.helpers.accessibility.triggerClickOnEnter( e );
1676
+ },
1677
  'click .so-nav.so-next': 'navToNext',
1678
+ 'keyup .so-nav.so-next': function( e ) {
1679
+ panels.helpers.accessibility.triggerClickOnEnter( e );
1680
+ },
1681
 
1682
  // Action handlers
1683
  'click .so-toolbar .so-delete': 'deleteHandler',
1684
+ 'keyup .so-toolbar .so-delete': function( e ) {
1685
+ panels.helpers.accessibility.triggerClickOnEnter( e );
1686
+ },
1687
+ 'click .so-toolbar .so-duplicate': 'duplicateHandler',
1688
+ 'keyup .so-toolbar .so-duplicate': function( e ) {
1689
+ panels.helpers.accessibility.triggerClickOnEnter( e );
1690
+ },
1691
  },
1692
 
1693
  initializeDialog: function () {
1718
  this.$( '.so-title' ).text( this.model.getWidgetField( 'title' ) );
1719
  }
1720
  }.bind( this ) );
1721
+
1722
+ this.on( 'open_dialog_complete', function() {
1723
+ // The form isn't always ready when this event fires.
1724
+ setTimeout( function() {
1725
+ var focusTarget = $( '.so-content .siteorigin-widget-field-repeater-item-top, .so-content input, .so-content select' ).first();
1726
+ if ( focusTarget.length ) {
1727
+ focusTarget.trigger( 'focus' );
1728
+ } else {
1729
+ $( '.so-panels-dialog-wrapper .so-title' ).trigger( 'focus' );
1730
+ }
1731
+ }, 1250 )
1732
+ } );
1733
  },
1734
 
1735
  /**
1974
 
1975
  } );
1976
 
1977
+ },{"../view/widgets/js-widget":33}],10:[function(require,module,exports){
1978
  var panels = window.panels, $ = jQuery;
1979
 
1980
  module.exports = panels.view.dialog.extend( {
1989
  events: {
1990
  'click .so-close': 'closeDialog',
1991
  'click .widget-type': 'widgetClickHandler',
1992
+ 'keyup .so-sidebar-search': 'searchHandler',
1993
+ 'keyup .widget-type-wrapper': 'searchHandler',
1994
+ 'keyup .widget-type-wrapper': function( e ) {
1995
+ panels.helpers.accessibility.triggerClickOnEnter( e );
1996
+ },
1997
  },
1998
 
1999
  /**
2006
  this.filterWidgets( this.filter );
2007
  }, this );
2008
 
2009
+
2010
  this.on( 'open_dialog_complete', function () {
2011
  // Clear the search and re-filter the widgets when we open the dialog
2012
  this.$( '.so-sidebar-search' ).val( '' ).trigger( 'focus' );
2221
  } );
2222
 
2223
  },{}],11:[function(require,module,exports){
2224
+ var $ = jQuery;
2225
+
2226
+ module.exports = {
2227
+ /**
2228
+ * Trigger click on valid enter key press.
2229
+ */
2230
+ triggerClickOnEnter: function( e ) {
2231
+ if ( e.which == 13 ) {
2232
+ $( e.target ).trigger( 'click' );
2233
+ }
2234
+ },
2235
+
2236
+ };
2237
+
2238
+ },{}],12:[function(require,module,exports){
2239
  module.exports = {
2240
  /**
2241
  * Check if we have copy paste available.
2302
  },
2303
  };
2304
 
2305
+ },{}],13:[function(require,module,exports){
2306
  module.exports = {
2307
  isBlockEditor: function() {
2308
  return typeof wp.blocks !== 'undefined';
2313
  },
2314
  }
2315
 
2316
+ },{}],14:[function(require,module,exports){
2317
  module.exports = {
2318
  /**
2319
  * Lock window scrolling for the main overlay
2360
  },
2361
  };
2362
 
2363
+ },{}],15:[function(require,module,exports){
2364
  /*
2365
  This is a modified version of https://github.com/underdogio/backbone-serialize/
2366
  */
2471
  }
2472
  };
2473
 
2474
+ },{}],16:[function(require,module,exports){
2475
  module.exports = {
2476
 
2477
  generateUUID: function(){
2508
 
2509
  }
2510
 
2511
+ },{}],17:[function(require,module,exports){
2512
  /* global _, jQuery, panels */
2513
 
2514
  var panels = window.panels, $ = jQuery;
2597
  } );
2598
  };
2599
 
2600
+ },{}],18:[function(require,module,exports){
2601
  /**
2602
  * Everything we need for SiteOrigin Page Builder.
2603
  *
2620
  panels.helpers.editor = require( './helpers/editor' );
2621
  panels.helpers.serialize = require( './helpers/serialize' );
2622
  panels.helpers.pageScroll = require( './helpers/page-scroll' );
2623
+ panels.helpers.accessibility = require( './helpers/accessibility' );
2624
 
2625
  // The models
2626
  panels.model = {};
2773
  });
2774
  } );
2775
 
2776
+ },{"./collection/cells":1,"./collection/history-entries":2,"./collection/rows":3,"./collection/widgets":4,"./dialog/builder":5,"./dialog/history":6,"./dialog/prebuilt":7,"./dialog/row":8,"./dialog/widget":9,"./dialog/widgets":10,"./helpers/accessibility":11,"./helpers/clipboard":12,"./helpers/editor":13,"./helpers/page-scroll":14,"./helpers/serialize":15,"./helpers/utils":16,"./jquery/setup-builder-widget":17,"./model/builder":19,"./model/cell":20,"./model/history-entry":21,"./model/row":22,"./model/widget":23,"./utils/menu":24,"./view/builder":25,"./view/cell":26,"./view/dialog":27,"./view/live-editor":28,"./view/row":29,"./view/styles":30,"./view/widget":31}],19:[function(require,module,exports){
2777
  module.exports = Backbone.Model.extend({
2778
  layoutPosition: {
2779
  BEFORE: 'before',
3314
  }
3315
  } );
3316
 
3317
+ },{}],20:[function(require,module,exports){
3318
  module.exports = Backbone.Model.extend( {
3319
  /* A collection of widgets */
3320
  widgets: {},
3371
 
3372
  } );
3373
 
3374
+ },{}],21:[function(require,module,exports){
3375
  module.exports = Backbone.Model.extend( {
3376
  defaults: {
3377
  text: '',
3381
  }
3382
  } );
3383
 
3384
+ },{}],22:[function(require,module,exports){
3385
  module.exports = Backbone.Model.extend( {
3386
  /* The builder model */
3387
  builder: null,
3505
  }
3506
  } );
3507
 
3508
+ },{}],23:[function(require,module,exports){
3509
  /**
3510
  * Model for an instance of a widget
3511
  */
3709
 
3710
  } );
3711
 
3712
+ },{}],24:[function(require,module,exports){
3713
  var panels = window.panels, $ = jQuery;
3714
 
3715
  module.exports = Backbone.View.extend( {
4030
 
4031
  } );
4032
 
4033
+ },{}],25:[function(require,module,exports){
4034
  var panels = window.panels, $ = jQuery;
4035
 
4036
  module.exports = Backbone.View.extend( {
4057
  'click .so-tool-button.so-row-add': 'displayAddRowDialog',
4058
  'click .so-tool-button.so-prebuilt-add': 'displayAddPrebuiltDialog',
4059
  'click .so-tool-button.so-history': 'displayHistoryDialog',
4060
+ 'click .so-tool-button.so-live-editor': 'displayLiveEditor',
4061
+ 'keyup .so-tool-button': function( e ) {
4062
+ panels.helpers.accessibility.triggerClickOnEnter( e );
4063
+ },
4064
  },
4065
 
4066
  /* A row collection */
4153
  this.displayAttachedBuilder( { confirm: false } );
4154
  }, this );
4155
  }
 
4156
  return this;
4157
  },
4158
 
4289
 
4290
  // Switch back to the standard editor
4291
  if ( this.supports( 'revertToEditor' ) ) {
4292
+ metabox.find( '.so-switch-to-standard' ).on( 'click keyup', function( e ) {
4293
  e.preventDefault();
4294
 
4295
+ if ( e.type == "keyup" && e.which != 13 ) {
4296
+ return
4297
+ }
4298
+
4299
  if ( !confirm( panelsOptions.loc.confirm_stop_builder ) ) {
4300
  return;
4301
  }
4881
 
4882
  // Wrap the call
4883
  $( window ).off( 'scroll', event.handler );
4884
+ $( window ).on( 'scroll', function( e ) {
4885
  if ( !this.attachedVisible ) {
4886
  event.handler( e );
4887
  }
5017
  },
5018
  } );
5019
 
5020
+ },{}],26:[function(require,module,exports){
5021
  var panels = window.panels, $ = jQuery;
5022
 
5023
  module.exports = Backbone.View.extend( {
5405
  }
5406
  } );
5407
 
5408
+ },{}],27:[function(require,module,exports){
5409
  var panels = window.panels, $ = jQuery;
5410
 
5411
  module.exports = Backbone.View.extend( {
5424
 
5425
  events: {
5426
  'click .so-close': 'closeDialog',
5427
+ 'keyup .so-close': function( e ) {
5428
+ panels.helpers.accessibility.triggerClickOnEnter( e );
5429
+ },
5430
  'click .so-nav.so-previous': 'navToPrevious',
5431
+ 'keyup .so-nav.so-previous': function( e ) {
5432
+ panels.helpers.accessibility.triggerClickOnEnter( e );
5433
+ },
5434
  'click .so-nav.so-next': 'navToNext',
5435
+ 'keyup .so-nav.so-next': function( e ) {
5436
+ panels.helpers.accessibility.triggerClickOnEnter( e );
5437
+ },
5438
  },
5439
 
5440
  initialize: function () {
5629
  initToolbar: function () {
5630
  // Trigger simplified click event for elements marked as toolbar buttons.
5631
  var buttons = this.$( '.so-toolbar .so-buttons .so-toolbar-button' );
5632
+ buttons.on( 'click keyup', function( e ) {
5633
  e.preventDefault();
5634
 
5635
+ if ( e.type == 'keyup' && e.which != 13 ) {
5636
+ return;
5637
+ }
5638
+
5639
  this.trigger( 'button_click', $( e.currentTarget ) );
5640
  }.bind( this ) );
5641
 
5728
 
5729
  if ( nextDialog === null ) {
5730
  nextButton.hide();
5731
+ } else if ( nextDialog === false ) {
 
5732
  nextButton.addClass( 'so-disabled' );
5733
+ nextButton.attr( 'tabindex', -1 );
5734
+ } else {
5735
+ nextButton.attr( 'tabindex', 0 );
5736
  }
5737
 
5738
  if ( prevDialog === null ) {
5739
  prevButton.hide();
5740
+ } else if ( prevDialog === false ) {
 
5741
  prevButton.addClass( 'so-disabled' );
5742
+ prevButton.attr( 'tabindex', -1 );
5743
+ } else {
5744
+ prevButton.attr( 'tabindex', 0 );
5745
  }
5746
  },
5747
 
6029
 
6030
  } );
6031
 
6032
+ },{}],28:[function(require,module,exports){
6033
  var panels = window.panels, $ = jQuery;
6034
 
6035
  module.exports = Backbone.View.extend( {
6046
  'click .live-editor-close': 'close',
6047
  'click .live-editor-save': 'closeAndSave',
6048
  'click .live-editor-collapse': 'collapse',
6049
+ 'click .live-editor-mode': 'mobileToggle',
6050
+ 'keyup .live-editor-mode': function( e ) {
6051
+ panels.helpers.accessibility.triggerClickOnEnter( e );
6052
+ },
6053
  },
6054
 
6055
  initialize: function ( options ) {
6092
 
6093
  // Handle highlighting the relevant widget in the live editor preview
6094
  var liveEditorView = this;
6095
+
6096
+ this.$el.on( 'mouseenter focusin', '.so-widget', function () {
6097
  var $$ = $( this ),
6098
  previewWidget = $$.data( 'live-editor-preview-widget' );
6099
 
6103
  }
6104
  } );
6105
 
6106
+ this.$el.on( 'mouseleave focusout', '.so-widget', function () {
6107
  this.resetHighlights();
6108
  }.bind(this) );
6109
 
6143
  this.$el.show();
6144
  this.refreshPreview( this.builder.model.getPanelsData() );
6145
 
6146
+ $( '.live-editor-close' ).trigger( 'focus' );
6147
+
6148
  // Move the builder view into the Live Editor
6149
  this.originalContainer = this.builder.$el.parent();
6150
  this.builder.$el.appendTo( this.$( '.so-live-editor-builder' ) );
6404
  } )
6405
  .each( function ( i, el ) {
6406
  var $$ = $( el );
6407
+ var widgetEdit = thisView.$( '.so-live-editor-builder .so-widget' ).eq( $$.data( 'index' ) );
6408
  widgetEdit.data( 'live-editor-preview-widget', $$ );
6409
 
6410
  $$
6464
  }
6465
  } );
6466
 
6467
+ },{}],29:[function(require,module,exports){
6468
  var panels = window.panels, $ = jQuery;
6469
 
6470
  module.exports = Backbone.View.extend( {
6876
  },
6877
  } );
6878
 
6879
+ },{}],30:[function(require,module,exports){
6880
  var panels = window.panels, $ = jQuery;
6881
 
6882
  module.exports = Backbone.View.extend( {
6883
 
6884
  stylesLoaded: false,
6885
 
6886
+ events: {
6887
+ 'keyup .so-image-selector': function( e ) {
6888
+ if ( e.which == 13 ) {
6889
+ this.$el.find( '.select-image' ).trigger( 'click' );
6890
+ }
6891
+ },
6892
+ },
6893
+
6894
  initialize: function () {
6895
 
6896
  },
6986
  this.$( '.style-section-wrapper' ).each( function () {
6987
  var $s = $( this );
6988
 
6989
+ $s.find( '.style-section-head' ).on( 'click keypress', function( e ) {
6990
  e.preventDefault();
6991
  $s.find( '.style-section-fields' ).slideToggle( 'fast' );
6992
  } );
7051
  } );
7052
  }
7053
 
7054
+ // Prevent loop that occurs if you close the frame using the close button while focused on the trigger.
7055
+ $( this ).next().focus();
7056
 
7057
+ frame.open();
7058
  } );
7059
 
7060
  // Handle clicking on remove
7184
 
7185
  } );
7186
 
7187
+ },{}],31:[function(require,module,exports){
7188
  var panels = window.panels, $ = jQuery;
7189
 
7190
  module.exports = Backbone.View.extend( {
7202
  'click .title h4': 'editHandler',
7203
  'touchend .title h4': 'editHandler',
7204
  'click .actions .widget-duplicate': 'duplicateHandler',
7205
+ 'click .actions .widget-delete': 'deleteHandler',
7206
+ 'keyup .actions a': function( e ) {
7207
+ panels.helpers.accessibility.triggerClickOnEnter( e );
7208
+ },
7209
  },
7210
 
7211
  /**
7482
 
7483
  } );
7484
 
7485
+ },{}],32:[function(require,module,exports){
7486
  var $ = jQuery;
7487
 
7488
  var customHtmlWidget = {
7509
 
7510
  module.exports = customHtmlWidget;
7511
 
7512
+ },{}],33:[function(require,module,exports){
7513
  var customHtmlWidget = require( './custom-html-widget' );
7514
  var mediaWidget = require( './media-widget' );
7515
  var textWidget = require( './text-widget' );
7547
 
7548
  module.exports = jsWidget;
7549
 
7550
+ },{"./custom-html-widget":32,"./media-widget":34,"./text-widget":35}],34:[function(require,module,exports){
7551
  var $ = jQuery;
7552
 
7553
  var mediaWidget = {
7587
 
7588
  module.exports = mediaWidget;
7589
 
7590
+ },{}],35:[function(require,module,exports){
7591
  var $ = jQuery;
7592
 
7593
  var textWidget = {
7631
 
7632
  module.exports = textWidget;
7633
 
7634
+ },{}]},{},[18]);
js/siteorigin-panels.min.js CHANGED
@@ -1,8 +1,8 @@
1
- !function e(t,i,s){function l(n,a){if(!i[n]){if(!t[n]){var r="function"==typeof require&&require;if(!a&&r)return r(n,!0);if(o)return o(n,!0);var d=new Error("Cannot find module '"+n+"'");throw d.code="MODULE_NOT_FOUND",d}var h=i[n]={exports:{}};t[n][0].call(h.exports,(function(e){return l(t[n][1][e]||e)}),h,h.exports,e,t,i,s)}return i[n].exports}for(var o="function"==typeof require&&require,n=0;n<s.length;n++)l(s[n]);return l}({1:[function(e,t,i){var s=window.panels;t.exports=Backbone.Collection.extend({model:s.model.cell,initialize:function(){},totalWeight:function(){var e=0;return this.each((function(t){e+=t.get("weight")})),e}})},{}],2:[function(e,t,i){var s=window.panels;t.exports=Backbone.Collection.extend({model:s.model.historyEntry,builder:null,maxSize:12,initialize:function(){this.on("add",this.onAddEntry,this)},addEntry:function(e,t){_.isEmpty(t)&&(t=this.builder.getPanelsData());var i=new s.model.historyEntry({text:e,data:JSON.stringify(t),time:parseInt((new Date).getTime()/1e3),collection:this});this.add(i)},onAddEntry:function(e){if(this.models.length>1){var t=this.at(this.models.length-2);(e.get("text")===t.get("text")&&e.get("time")-t.get("time")<15||e.get("data")===t.get("data"))&&(this.remove(e),t.set("count",t.get("count")+1))}for(;this.models.length>this.maxSize;)this.shift()}})},{}],3:[function(e,t,i){var s=window.panels;t.exports=Backbone.Collection.extend({model:s.model.row,empty:function(){for(var e;;){if(!(e=this.collection.first()))break;e.destroy()}}})},{}],4:[function(e,t,i){var s=window.panels;t.exports=Backbone.Collection.extend({model:s.model.widget,initialize:function(){}})},{}],5:[function(e,t,i){var s=window.panels,l=jQuery;t.exports=s.view.dialog.extend({dialogClass:"so-panels-dialog-add-builder",render:function(){this.renderDialog(this.parseDialogContent(l("#siteorigin-panels-dialog-builder").html(),{})),this.$(".so-content .siteorigin-panels-builder").append(this.builder.$el)},initializeDialog:function(){var e=this;this.once("open_dialog_complete",(function(){e.builder.initSortable()})),this.on("open_dialog_complete",(function(){e.builder.trigger("builder_resize")}))}})},{}],6:[function(e,t,i){var s=window.panels,l=jQuery;t.exports=s.view.dialog.extend({historyEntryTemplate:_.template(s.helpers.utils.processTemplate(l("#siteorigin-panels-dialog-history-entry").html())),entries:{},currentEntry:null,revertEntry:null,selectedEntry:null,previewScrollTop:null,dialogClass:"so-panels-dialog-history",dialogIcon:"history",events:{"click .so-close":"closeDialog","click .so-restore":"restoreSelectedEntry"},initializeDialog:function(){this.entries=new s.collection.historyEntries,this.on("open_dialog",this.setCurrentEntry,this),this.on("open_dialog",this.renderHistoryEntries,this)},render:function(){var e=this;this.renderDialog(this.parseDialogContent(l("#siteorigin-panels-dialog-history").html(),{})),this.$("iframe.siteorigin-panels-history-iframe").on("load",(function(){var t=l(this);t.show(),t.contents().scrollTop(e.previewScrollTop)}))},setRevertEntry:function(e){this.revertEntry=new s.model.historyEntry({data:JSON.stringify(e.getPanelsData()),time:parseInt((new Date).getTime()/1e3)})},setCurrentEntry:function(){this.currentEntry=new s.model.historyEntry({data:JSON.stringify(this.builder.model.getPanelsData()),time:parseInt((new Date).getTime()/1e3)}),this.selectedEntry=this.currentEntry,this.previewEntry(this.currentEntry),this.$(".so-buttons .so-restore").addClass("disabled")},renderHistoryEntries:function(){var e=this,t=this.$(".history-entries").empty();this.currentEntry.get("data")===this.revertEntry.get("data")&&_.isEmpty(this.entries.models)||l(this.historyEntryTemplate({title:panelsOptions.loc.history.revert,count:1})).data("historyEntry",this.revertEntry).prependTo(t),this.entries.each((function(i){var s=e.historyEntryTemplate({title:panelsOptions.loc.history[i.get("text")],count:i.get("count")});l(s).data("historyEntry",i).prependTo(t)})),l(this.historyEntryTemplate({title:panelsOptions.loc.history.current,count:1})).data("historyEntry",this.currentEntry).addClass("so-selected").prependTo(t),t.find(".history-entry").on("click",(function(){var i=jQuery(this);t.find(".history-entry").not(i).removeClass("so-selected"),i.addClass("so-selected");var s=i.data("historyEntry");e.selectedEntry=s,e.selectedEntry.cid!==e.currentEntry.cid?e.$(".so-buttons .so-restore").removeClass("disabled"):e.$(".so-buttons .so-restore").addClass("disabled"),e.previewEntry(s)})),this.updateEntryTimes()},previewEntry:function(e){var t=this.$("iframe.siteorigin-panels-history-iframe");t.hide(),this.previewScrollTop=t.contents().scrollTop(),this.$('form.history-form input[name="live_editor_panels_data"]').val(e.get("data")),this.$('form.history-form input[name="live_editor_post_ID"]').val(this.builder.config.postId),this.$("form.history-form").trigger("submit")},restoreSelectedEntry:function(){return!this.$(".so-buttons .so-restore").hasClass("disabled")&&(this.currentEntry.get("data")===this.selectedEntry.get("data")?(this.closeDialog(),!1):("restore"!==this.selectedEntry.get("text")&&this.builder.addHistoryEntry("restore",this.builder.model.getPanelsData()),this.builder.model.loadPanelsData(JSON.parse(this.selectedEntry.get("data"))),this.closeDialog(),!1))},updateEntryTimes:function(){var e=this;this.$(".history-entries .history-entry").each((function(){var t=jQuery(this),i=t.find(".timesince"),s=t.data("historyEntry");i.html(e.timeSince(s.get("time")))}))},timeSince:function(e){var t,i=parseInt((new Date).getTime()/1e3)-e,s=[];return i>3600&&(1===(t=Math.floor(i/3600))?s.push(panelsOptions.loc.time.hour.replace("%d",t)):s.push(panelsOptions.loc.time.hours.replace("%d",t)),i-=3600*t),i>60&&(1===(t=Math.floor(i/60))?s.push(panelsOptions.loc.time.minute.replace("%d",t)):s.push(panelsOptions.loc.time.minutes.replace("%d",t)),i-=60*t),i>0&&(1===i?s.push(panelsOptions.loc.time.second.replace("%d",i)):s.push(panelsOptions.loc.time.seconds.replace("%d",i))),_.isEmpty(s)?panelsOptions.loc.time.now:panelsOptions.loc.time.ago.replace("%s",s.slice(0,2).join(", "))}})},{}],7:[function(e,t,i){var s=window.panels,l=jQuery;t.exports=s.view.dialog.extend({directoryTemplate:_.template(s.helpers.utils.processTemplate(l("#siteorigin-panels-directory-items").html())),builder:null,dialogClass:"so-panels-dialog-prebuilt-layouts",dialogIcon:"layouts",layoutCache:{},currentTab:!1,directoryPage:1,events:{"click .so-close":"closeDialog","click .so-sidebar-tabs li a":"tabClickHandler","click .so-content .layout":"layoutClickHandler","keyup .so-sidebar-search":"searchHandler","click .so-screenshot, .so-title":"directoryItemClickHandler"},initializeDialog:function(){var e=this;this.on("open_dialog",(function(){e.$(".so-sidebar-tabs li a").first().trigger("click"),e.$(".so-status").removeClass("so-panels-loading")})),this.on("button_click",this.toolbarButtonClick,this)},render:function(){this.renderDialog(this.parseDialogContent(l("#siteorigin-panels-dialog-prebuilt").html(),{})),this.initToolbar()},tabClickHandler:function(e){e.preventDefault(),this.selectedLayoutItem=null,this.uploadedLayout=null,this.updateButtonState(!1),this.$(".so-sidebar-tabs li").removeClass("tab-active");var t=l(e.target),i=t.attr("href").split("#")[1];t.parent().addClass("tab-active");this.$(".so-content").empty(),this.currentTab=i,"import"==i?this.displayImportExport():this.displayLayoutDirectory("",1,i),this.$(".so-sidebar-search").val("")},displayImportExport:function(){var e=this.$(".so-content").empty().removeClass("so-panels-loading");e.html(l("#siteorigin-panels-dialog-prebuilt-importexport").html());var t=this,i=t.$(".import-upload-ui"),s=new plupload.Uploader({runtimes:"html5,silverlight,flash,html4",browse_button:i.find(".file-browse-button").get(0),container:i.get(0),drop_element:i.find(".drag-upload-area").get(0),file_data_name:"panels_import_data",multiple_queues:!1,max_file_size:panelsOptions.plupload.max_file_size,url:panelsOptions.plupload.url,flash_swf_url:panelsOptions.plupload.flash_swf_url,silverlight_xap_url:panelsOptions.plupload.silverlight_xap_url,filters:[{title:panelsOptions.plupload.filter_title,extensions:"json"}],multipart_params:{action:"so_panels_import_layout"},init:{PostInit:function(e){e.features.dragdrop&&i.addClass("has-drag-drop"),i.find(".progress-precent").css("width","0%")},FilesAdded:function(e){i.find(".file-browse-button").trigger("blur"),i.find(".drag-upload-area").removeClass("file-dragover"),i.find(".progress-bar").fadeIn("fast"),t.$(".js-so-selected-file").text(panelsOptions.loc.prebuilt_loading),e.start()},UploadProgress:function(e,t){i.find(".progress-precent").css("width",t.percent+"%")},FileUploaded:function(e,s,l){var o=JSON.parse(l.response);_.isUndefined(o.widgets)?alert(panelsOptions.plupload.error_message):(t.uploadedLayout=o,i.find(".progress-bar").hide(),t.$(".js-so-selected-file").text(panelsOptions.loc.ready_to_insert.replace("%s",s.name)),t.updateButtonState(!0))},Error:function(){alert(panelsOptions.plupload.error_message)}}});s.init(),/Edge\/\d./i.test(navigator.userAgent)&&setTimeout((function(){s.refresh()}),250),i.find(".drag-upload-area").on("dragover",(function(){l(this).addClass("file-dragover")})).on("dragleave",(function(){l(this).removeClass("file-dragover")})),e.find(".so-export").on("submit",(function(e){var i=l(this),s=t.builder.model.getPanelsData(),o=l('input[name="post_title"], .editor-post-title__input').val();if(o){if(l(".block-editor-page").length){var n=t.getCurrentBlockPosition();n>=0&&(o+="-"+n)}}else o=l('input[name="post_ID"]').val();s.name=o,i.find('input[name="panels_export_data"]').val(JSON.stringify(s))}))},getCurrentBlockPosition:function(){var e=wp.data.select("core/block-editor").getSelectedBlockClientId();return wp.data.select("core/block-editor").getBlocks().findIndex((function(t){return t.clientId===e}))},displayLayoutDirectory:function(e,t,i){var s=this,o=this.$(".so-content").empty().addClass("so-panels-loading");if(void 0===e&&(e=""),void 0===t&&(t=1),void 0===i&&(i="directory-siteorigin"),i.match("^directory-")&&!panelsOptions.directory_enabled)return o.removeClass("so-panels-loading").html(l("#siteorigin-panels-directory-enable").html()),void o.find(".so-panels-enable-directory").on("click",(function(n){n.preventDefault(),l.get(panelsOptions.ajaxurl,{action:"so_panels_directory_enable"},(function(){})),panelsOptions.directory_enabled=!0,o.addClass("so-panels-loading"),s.displayLayoutDirectory(e,t,i)}));l.get(panelsOptions.ajaxurl,{action:"so_panels_layouts_query",search:e,page:t,type:i,builderType:this.builder.config.builderType},(function(n){if(s.currentTab===i){o.removeClass("so-panels-loading").html(s.directoryTemplate(n));var a=o.find(".so-previous"),r=o.find(".so-next");t<=1?a.addClass("button-disabled"):a.on("click",(function(i){i.preventDefault(),s.displayLayoutDirectory(e,t-1,s.currentTab)})),t===n.max_num_pages||0===n.max_num_pages?r.addClass("button-disabled"):r.on("click",(function(i){i.preventDefault(),s.displayLayoutDirectory(e,t+1,s.currentTab)})),o.find(".so-screenshot").each((function(){var e=l(this),t=e.find(".so-screenshot-wrapper");if(t.css("height",t.width()/4*3+"px").addClass("so-loading"),""!==e.data("src"))var i=l("<img/>").attr("src",e.data("src")).on("load",(function(){t.removeClass("so-loading").css("height","auto"),i.appendTo(t).hide().fadeIn("fast")}));else l("<img/>").attr("src",panelsOptions.prebuiltDefaultScreenshot).appendTo(t).hide().fadeIn("fast")})),o.find(".so-directory-browse").html(n.title)}}),"json")},directoryItemClickHandler:function(e){var t=this.$(e.target).closest(".so-directory-item");this.$(".so-directory-items").find(".selected").removeClass("selected"),t.addClass("selected"),this.selectedLayoutItem={lid:t.data("layout-id"),type:t.data("layout-type")},this.updateButtonState(!0)},toolbarButtonClick:function(e){if(!this.canAddLayout())return!1;var t=e.data("value");if(_.isUndefined(t))return!1;if(this.updateButtonState(!1),e.hasClass("so-needs-confirm")&&!e.hasClass("so-confirmed")){if(this.updateButtonState(!0),e.hasClass("so-confirming"))return;e.addClass("so-confirming");var i=e.html();return e.html('<span class="dashicons dashicons-yes"></span>'+e.data("confirm")),setTimeout((function(){e.removeClass("so-confirmed").html(i)}),2500),setTimeout((function(){e.removeClass("so-confirming"),e.addClass("so-confirmed")}),200),!1}this.addingLayout=!0,"import"===this.currentTab?this.addLayoutToBuilder(this.uploadedLayout,t):this.loadSelectedLayout().then(function(e){this.addLayoutToBuilder(e,t)}.bind(this))},canAddLayout:function(){return(this.selectedLayoutItem||this.uploadedLayout)&&!this.addingLayout},loadSelectedLayout:function(){this.setStatusMessage(panelsOptions.loc.prebuilt_loading,!0);var e=_.extend(this.selectedLayoutItem,{action:"so_panels_get_layout",builderType:this.builder.config.builderType}),t=new l.Deferred;return l.get(panelsOptions.ajaxurl,e,function(e){var i="";e.success?t.resolve(e.data):(i=e.data.message,t.reject(e.data)),this.setStatusMessage(i,!1,!e.success),this.updateButtonState(!0)}.bind(this)),t.promise()},searchHandler:function(e){13===e.keyCode&&this.displayLayoutDirectory(l(e.currentTarget).val(),1,this.currentTab)},updateButtonState:function(e){e=e&&(this.selectedLayoutItem||this.uploadedLayout);var t=this.$(".so-import-layout");t.prop("disabled",!e),e?t.removeClass("disabled"):t.addClass("disabled")},addLayoutToBuilder:function(e,t){this.builder.addHistoryEntry("prebuilt_loaded"),this.builder.model.loadPanelsData(e,t),this.addingLayout=!1,this.closeDialog()}})},{}],8:[function(e,t,i){var s=window.panels,l=jQuery;t.exports=s.view.dialog.extend({cellPreviewTemplate:_.template(s.helpers.utils.processTemplate(l("#siteorigin-panels-dialog-row-cell-preview").html())),editableLabel:!0,events:{"click .so-close":"closeDialog","click .so-toolbar .so-save":"saveHandler","click .so-toolbar .so-insert":"insertHandler","click .so-toolbar .so-delete":"deleteHandler","click .so-toolbar .so-duplicate":"duplicateHandler","change .row-set-form > *":"setCellsFromForm","click .row-set-form button.set-row":"setCellsFromForm"},rowView:null,dialogIcon:"add-row",dialogClass:"so-panels-dialog-row-edit",styleType:"row",dialogType:"edit",row:{cells:null,style:{}},cellStylesCache:[],initializeDialog:function(){this.on("open_dialog",(function(){_.isUndefined(this.model)||_.isEmpty(this.model.get("cells"))?this.setRowModel(null):this.setRowModel(this.model),this.regenerateRowPreview(),this.renderStyles(),this.openSelectedCellStyles()}),this),this.row={cells:new s.collection.cells([{weight:.5},{weight:.5}]),style:{}},this.dialogFormsLoaded=0;var e=this;this.on("form_loaded styles_loaded",(function(){this.dialogFormsLoaded++,2===this.dialogFormsLoaded&&e.updateModel({refreshArgs:{silent:!0}})})),this.on("close_dialog",this.closeHandler),this.on("edit_label",function(e){if(e!==panelsOptions.loc.row.add&&e!==panelsOptions.loc.row.edit||(e=""),this.model.set("label",e),_.isEmpty(e)){var t="create"===this.dialogType?panelsOptions.loc.row.add:panelsOptions.loc.row.edit;this.$(".so-title").text(t)}}.bind(this))},setRowDialogType:function(e){this.dialogType=e},render:function(){var e="create"===this.dialogType?panelsOptions.loc.row.add:panelsOptions.loc.row.edit;this.renderDialog(this.parseDialogContent(l("#siteorigin-panels-dialog-row").html(),{title:e,dialogType:this.dialogType}));var t=this.$(".so-title");return this.model.has("label")&&!_.isEmpty(this.model.get("label"))&&t.text(this.model.get("label")),this.$(".so-edit-title").val(t.text()),this.builder.supports("addRow")||this.$(".so-buttons .so-duplicate").remove(),this.builder.supports("deleteRow")||this.$(".so-buttons .so-delete").remove(),_.isUndefined(this.model)||(this.$('input[name="cells"].so-row-field').val(this.model.get("cells").length),this.model.has("ratio")&&this.$('select[name="ratio"].so-row-field').val(this.model.get("ratio")),this.model.has("ratio_direction")&&this.$('select[name="ratio_direction"].so-row-field').val(this.model.get("ratio_direction"))),this.$("input.so-row-field").on("keyup",(function(){l(this).trigger("change")})),this},renderStyles:function(){this.styles&&(this.styles.off("styles_loaded"),this.styles.remove()),this.styles=new s.view.styles,this.styles.model=this.model,this.styles.render("row",this.builder.config.postId,{builderType:this.builder.config.builderType,dialog:this});var e=this.$(".so-sidebar.so-right-sidebar");this.styles.attach(e),this.styles.on("styles_loaded",(function(t){t||(this.styles.remove(),0===e.children().length&&(e.closest(".so-panels-dialog").removeClass("so-panels-dialog-has-right-sidebar"),e.hide()))}),this)},setRowModel:function(e){return this.model=e,_.isEmpty(this.model)?this:(this.row={cells:this.model.get("cells").clone(),style:{},ratio:this.model.get("ratio"),ratio_direction:this.model.get("ratio_direction")},this.$('input[name="cells"].so-row-field').val(this.model.get("cells").length),this.model.has("ratio")&&this.$('select[name="ratio"].so-row-field').val(this.model.get("ratio")),this.model.has("ratio_direction")&&this.$('select[name="ratio_direction"].so-row-field').val(this.model.get("ratio_direction")),this.clearCellStylesCache(),this)},regenerateRowPreview:function(){var e,t=this,i=this.$(".row-preview"),s=this.getSelectedCellIndex();i.empty(),this.row.cells.each((function(o,n){var a=l(this.cellPreviewTemplate({weight:o.get("weight")}));i.append(a),n==s&&a.find(".preview-cell-in").addClass("cell-selected");var r,d=a.prev();d.length&&((r=l('<div class="resize-handle"></div>')).appendTo(a).on("dblclick",(function(){var e=t.row.cells.at(n-1),i=o.get("weight")+e.get("weight");o.set("weight",i/2),e.set("weight",i/2),t.scaleRowWidths()})),r.draggable({axis:"x",containment:i,start:function(e,t){var i=a.clone().appendTo(t.helper).css({position:"absolute",top:"0",width:a.outerWidth(),left:6,height:a.outerHeight()});i.find(".resize-handle").remove();var s=d.clone().appendTo(t.helper).css({position:"absolute",top:"0",width:d.outerWidth(),right:6,height:d.outerHeight()});s.find(".resize-handle").remove(),l(this).data({newCellClone:i,prevCellClone:s}),a.find("> .preview-cell-in").css("visibility","hidden"),d.find("> .preview-cell-in").css("visibility","hidden")},drag:function(e,s){var o=t.row.cells.at(n).get("weight"),a=t.row.cells.at(n-1).get("weight"),r=o-(s.position.left+6)/i.width(),d=a+(s.position.left+6)/i.width();s.helper.offset().left,i.offset().left;l(this).data("newCellClone").css("width",i.width()*r+"px").find(".preview-cell-weight").html(Math.round(1e3*r)/10),l(this).data("prevCellClone").css("width",i.width()*d+"px").find(".preview-cell-weight").html(Math.round(1e3*d)/10)},stop:function(e,s){l(this).data("newCellClone").remove(),l(this).data("prevCellClone").remove(),a.find(".preview-cell-in").css("visibility","visible"),d.find(".preview-cell-in").css("visibility","visible");var o=(s.position.left+6)/i.width(),r=t.row.cells.at(n),h=t.row.cells.at(n-1);r.get("weight")-o>.02&&h.get("weight")+o>.02&&(r.set("weight",r.get("weight")-o),h.set("weight",h.get("weight")+o)),t.scaleRowWidths(),s.helper.css("left",-6)}})),a.on("click",function(e){if(l(e.target).is(".preview-cell")||l(e.target).is(".preview-cell-in")){var t=l(e.target);t.closest(".row-preview").find(".preview-cell .preview-cell-in").removeClass("cell-selected"),t.addClass("cell-selected"),this.openSelectedCellStyles()}}.bind(this)),a.find(".preview-cell-weight").on("click",(function(s){t.$(".resize-handle").css("pointer-event","none").draggable("disable"),i.find(".preview-cell-weight").each((function(){var s=jQuery(this).hide();l('<input type="text" class="preview-cell-weight-input no-user-interacted" />').val(parseFloat(s.html())).insertAfter(s).on("focus",(function(){clearTimeout(e)})).on("keyup",(function(e){9!==e.keyCode&&l(this).removeClass("no-user-interacted"),13===e.keyCode&&(e.preventDefault(),l(this).trigger("blur"))})).on("keydown",(function(e){if(9===e.keyCode){e.preventDefault();var t=i.find(".preview-cell-weight-input"),s=t.index(l(this));s===t.length-1?t.eq(0).trigger("focus").trigger("select"):t.eq(s+1).trigger("focus").trigger("select")}})).on("blur",(function(){i.find(".preview-cell-weight-input").each((function(e,i){isNaN(parseFloat(l(i).val()))&&l(i).val(Math.floor(1e3*t.row.cells.at(e).get("weight"))/10)})),e=setTimeout((function(){if(0===i.find(".preview-cell-weight-input").length)return!1;var e=[],s=[],o=0,n=0;if(i.find(".preview-cell-weight-input").each((function(i,a){var r=parseFloat(l(a).val());r=isNaN(r)?1/t.row.cells.length:Math.round(10*r)/1e3;var d=!l(a).hasClass("no-user-interacted");e.push(r),s.push(d),d?o+=r:n+=r})),o>0&&n>0&&1-o>0)for(var a=0;a<e.length;a++)s[a]||(e[a]=e[a]/n*(1-o));var r=_.reduce(e,(function(e,t){return e+t}));e=e.map((function(e){return e/r})),Math.min.apply(Math,e)>.01&&t.row.cells.each((function(t,i){t.set("weight",e[i])})),i.find(".preview-cell").each((function(e,i){var s=t.row.cells.at(e).get("weight");l(i).animate({width:Math.round(1e3*s)/10+"%"},250),l(i).find(".preview-cell-weight-input").val(Math.round(1e3*s)/10)})),i.find(".preview-cell").css("overflow","visible"),setTimeout(t.regenerateRowPreview.bind(t),260)}),100)})).on("click",(function(){l(this).trigger("select")}))})),l(this).siblings(".preview-cell-weight-input").trigger("select")}))}),this),this.trigger("form_loaded",this)},getSelectedCellIndex:function(){var e=-1;return this.$(".preview-cell .preview-cell-in").each((function(t,i){l(i).is(".cell-selected")&&(e=t)})),e},openSelectedCellStyles:function(){if(!_.isUndefined(this.cellStyles)){if(this.cellStyles.stylesLoaded){var e={};try{e=this.getFormValues(".so-sidebar .so-visual-styles.so-cell-styles").style}catch(e){console.log("Error retrieving cell styles - "+e.message)}this.cellStyles.model.set("style",e)}this.cellStyles.detach()}if(this.cellStyles=this.getSelectedCellStyles(),this.cellStyles){var t=this.$(".so-sidebar.so-right-sidebar");this.cellStyles.attach(t),this.cellStyles.on("styles_loaded",(function(e){e&&(t.closest(".so-panels-dialog").addClass("so-panels-dialog-has-right-sidebar"),t.show())}))}},getSelectedCellStyles:function(){var e=this.getSelectedCellIndex();if(e>-1){var t=this.cellStylesCache[e];t||((t=new s.view.styles).model=this.row.cells.at(e),t.render("cell",this.builder.config.postId,{builderType:this.builder.config.builderType,dialog:this,index:e}),this.cellStylesCache[e]=t)}return t},clearCellStylesCache:function(){this.cellStylesCache.forEach((function(e){e.remove(),e.off("styles_loaded")})),this.cellStylesCache=[]},scaleRowWidths:function(){var e=this;this.$(".row-preview .preview-cell").each((function(t,i){var s=e.row.cells.at(t);l(i).css("width",100*s.get("weight")+"%").find(".preview-cell-weight").html(Math.round(1e3*s.get("weight"))/10)}))},setCellsFromForm:function(){try{var e={cells:parseInt(this.$('.row-set-form input[name="cells"]').val()),ratio:parseFloat(this.$('.row-set-form select[name="ratio"]').val()),direction:this.$('.row-set-form select[name="ratio_direction"]').val()};_.isNaN(e.cells)&&(e.cells=1),isNaN(e.ratio)&&(e.ratio=1),e.cells<1?(e.cells=1,this.$('.row-set-form input[name="cells"]').val(e.cells)):e.cells>12&&(e.cells=12,this.$('.row-set-form input[name="cells"]').val(e.cells)),this.$('.row-set-form select[name="ratio"]').val(e.ratio);for(var t=[],i=this.row.cells.length!==e.cells,o=1,n=0;n<e.cells;n++)t.push(o),o*=e.ratio;var a=_.reduce(t,(function(e,t){return e+t}));if(t=_.map(t,(function(e){return e/a})),t=_.filter(t,(function(e){return e>.01})),"left"===e.direction&&(t=t.reverse()),this.row.cells=new s.collection.cells(this.row.cells.first(t.length)),_.each(t,function(e,t){var i=this.row.cells.at(t);i?i.set("weight",e):(i=new s.model.cell({weight:e,row:this.model}),this.row.cells.add(i))}.bind(this)),this.row.ratio=e.ratio,this.row.ratio_direction=e.direction,i)this.regenerateRowPreview();else{var r=this;this.$(".preview-cell").each((function(e,t){var i=r.row.cells.at(e).get("weight");l(t).animate({width:Math.round(1e3*i)/10+"%"},250),l(t).find(".preview-cell-weight").html(Math.round(1e3*i)/10)})),this.$(".preview-cell").css("overflow","visible"),setTimeout(r.regenerateRowPreview.bind(r),260)}}catch(e){console.log("Error setting cells - "+e.message)}this.$(".row-set-form .so-button-row-set").removeClass("button-primary")},tabClickHandler:function(e){"#row-layout"===e.attr("href")?this.$(".so-panels-dialog").addClass("so-panels-dialog-has-right-sidebar"):this.$(".so-panels-dialog").removeClass("so-panels-dialog-has-right-sidebar")},updateModel:function(e){if(e=_.extend({refresh:!0,refreshArgs:null},e),_.isEmpty(this.model)||(this.model.setCells(this.row.cells),this.model.set("ratio",this.row.ratio),this.model.set("ratio_direction",this.row.ratio_direction)),!_.isUndefined(this.styles)&&this.styles.stylesLoaded){var t={};try{t=this.getFormValues(".so-sidebar .so-visual-styles.so-row-styles").style}catch(e){console.log("Error retrieving row styles - "+e.message)}this.model.set("style",t)}if(!_.isUndefined(this.cellStyles)&&this.cellStyles.stylesLoaded){t={};try{t=this.getFormValues(".so-sidebar .so-visual-styles.so-cell-styles").style}catch(e){console.log("Error retrieving cell styles - "+e.message)}this.cellStyles.model.set("style",t)}e.refresh&&this.builder.model.refreshPanelsData(e.refreshArgs)},insertHandler:function(){this.builder.addHistoryEntry("row_added"),this.updateModel();var e=this.builder.getActiveCell({createCell:!1}),t={};return null!==e&&(t.at=this.builder.model.get("rows").indexOf(e.row)+1),this.model.collection=this.builder.model.get("rows"),this.builder.model.get("rows").add(this.model,t),this.closeDialog(),this.builder.model.refreshPanelsData(),!1},saveHandler:function(){return this.builder.addHistoryEntry("row_edited"),this.updateModel(),this.closeDialog(),this.builder.model.refreshPanelsData(),!1},deleteHandler:function(){return this.rowView.visualDestroyModel(),this.closeDialog({silent:!0}),!1},duplicateHandler:function(){this.builder.addHistoryEntry("row_duplicated");var e=this.model.clone(this.builder.model);return this.builder.model.get("rows").add(e,{at:this.builder.model.get("rows").indexOf(this.model)+1}),this.closeDialog({silent:!0}),!1},closeHandler:function(){this.clearCellStylesCache(),_.isUndefined(this.cellStyles)||(this.cellStyles=void 0)}})},{}],9:[function(e,t,i){var s=window.panels,l=jQuery,o=e("../view/widgets/js-widget");t.exports=s.view.dialog.extend({builder:null,sidebarWidgetTemplate:_.template(s.helpers.utils.processTemplate(l("#siteorigin-panels-dialog-widget-sidebar-widget").html())),dialogClass:"so-panels-dialog-edit-widget",dialogIcon:"add-widget",widgetView:!1,savingWidget:!1,editableLabel:!0,events:{"click .so-close":"saveHandler","click .so-nav.so-previous":"navToPrevious","click .so-nav.so-next":"navToNext","click .so-toolbar .so-delete":"deleteHandler","click .so-toolbar .so-duplicate":"duplicateHandler"},initializeDialog:function(){var e=this;this.listenTo(this.model,"change:values",this.handleChangeValues),this.listenTo(this.model,"destroy",this.remove),this.dialogFormsLoaded=0,this.on("form_loaded styles_loaded",(function(){this.dialogFormsLoaded++,2===this.dialogFormsLoaded&&e.updateModel({refreshArgs:{silent:!0}})})),this.on("edit_label",function(e){e===panelsOptions.widgets[this.model.get("class")].title&&(e=""),this.model.set("label",e),_.isEmpty(e)&&this.$(".so-title").text(this.model.getWidgetField("title"))}.bind(this))},render:function(){this.renderDialog(this.parseDialogContent(l("#siteorigin-panels-dialog-widget").html(),{})),this.loadForm();var e=this.model.getWidgetField("title");this.$(".so-title .widget-name").html(e),this.$(".so-edit-title").val(e),this.builder.supports("addWidget")||this.$(".so-buttons .so-duplicate").remove(),this.builder.supports("deleteWidget")||this.$(".so-buttons .so-delete").remove(),this.styles=new s.view.styles,this.styles.model=this.model,this.styles.render("widget",this.builder.config.postId,{builderType:this.builder.config.builderType,dialog:this});var t=this.$(".so-sidebar.so-right-sidebar");this.styles.attach(t),this.styles.on("styles_loaded",(function(e){e||(t.closest(".so-panels-dialog").removeClass("so-panels-dialog-has-right-sidebar"),t.remove())}),this)},getPrevDialog:function(){var e=this.builder.$(".so-cells .cell .so-widget");if(e.length<=1)return!1;var t,i=e.index(this.widgetView.$el);if(0===i)return!1;do{if(t=e.eq(--i).data("view"),!_.isUndefined(t)&&!t.model.get("read_only"))return t.getEditDialog()}while(!_.isUndefined(t)&&i>0);return!1},getNextDialog:function(){var e=this.builder.$(".so-cells .cell .so-widget");if(e.length<=1)return!1;var t,i=e.index(this.widgetView.$el);if(i===e.length-1)return!1;do{if(t=e.eq(++i).data("view"),!_.isUndefined(t)&&!t.model.get("read_only"))return t.getEditDialog()}while(!_.isUndefined(t));return!1},loadForm:function(){if(this.$("> *").length){this.$(".so-content").addClass("so-panels-loading");var e={action:"so_panels_widget_form",widget:this.model.get("class"),instance:JSON.stringify(this.model.get("values")),raw:this.model.get("raw")},t=this.$(".so-content");l.post(panelsOptions.ajaxurl,e,null,"html").done(function(e){var i=e.replace(/{\$id}/g,this.model.cid);t.removeClass("so-panels-loading").html(i),this.trigger("form_loaded",this),this.$(".panel-dialog").trigger("panelsopen"),this.on("close_dialog",this.updateModel,this),t.find("> .widget-content").length>0&&o.addWidget(t,this.model.widget_id)}.bind(this)).fail((function(e){var i;i=e&&e.responseText?e.responseText:panelsOptions.forms.loadingFailed,t.removeClass("so-panels-loading").html(i)}))}},updateModel:function(e){if(e=_.extend({refresh:!0,refreshArgs:null},e),this.savingWidget=!0,!this.model.get("missing")){var t=this.getFormValues();t=_.isUndefined(t.widgets)?{}:(t=t.widgets)[Object.keys(t)[0]],this.model.setValues(t),this.model.set("raw",!0)}if(this.styles.stylesLoaded){var i={};try{i=this.getFormValues(".so-sidebar .so-visual-styles").style}catch(e){}this.model.set("style",i)}this.savingWidget=!1,e.refresh&&this.builder.model.refreshPanelsData(e.refreshArgs)},handleChangeValues:function(){this.savingWidget||this.loadForm()},saveHandler:function(){this.builder.addHistoryEntry("widget_edited"),this.closeDialog()},deleteHandler:function(){return this.widgetView.visualDestroyModel(),this.closeDialog({silent:!0}),this.builder.model.refreshPanelsData(),!1},duplicateHandler:function(){return this.widgetView.duplicateHandler(),this.closeDialog({silent:!0}),this.builder.model.refreshPanelsData(),!1}})},{"../view/widgets/js-widget":32}],10:[function(e,t,i){var s=window.panels,l=jQuery;t.exports=s.view.dialog.extend({builder:null,widgetTemplate:_.template(s.helpers.utils.processTemplate(l("#siteorigin-panels-dialog-widgets-widget").html())),filter:{},dialogClass:"so-panels-dialog-add-widget",dialogIcon:"add-widget",events:{"click .so-close":"closeDialog","click .widget-type":"widgetClickHandler","keyup .so-sidebar-search":"searchHandler"},initializeDialog:function(){this.on("open_dialog",(function(){this.filter.search="",this.filterWidgets(this.filter)}),this),this.on("open_dialog_complete",(function(){this.$(".so-sidebar-search").val("").trigger("focus"),this.balanceWidgetHeights()})),this.on("tab_click",this.tabClickHandler,this)},render:function(){this.renderDialog(this.parseDialogContent(l("#siteorigin-panels-dialog-widgets").html(),{})),_.each(panelsOptions.widgets,(function(e){var t=l(this.widgetTemplate({title:e.title,description:e.description}));_.isUndefined(e.icon)&&(e.icon="dashicons dashicons-admin-generic"),l('<span class="widget-icon"></span>').addClass(e.icon).prependTo(t.find(".widget-type-wrapper")),t.data("class",e.class).appendTo(this.$(".widget-type-list"))}),this);var e=this.$(".so-sidebar-tabs");_.each(panelsOptions.widget_dialog_tabs,(function(t,i){l(this.dialogTabTemplate({title:t.title,tab:i})).data({message:t.message,filter:t.filter}).appendTo(e)}),this),this.initTabs();var t=this;l(window).on("resize",(function(){t.balanceWidgetHeights()}))},tabClickHandler:function(e){this.filter=e.parent().data("filter"),this.filter.search=this.$(".so-sidebar-search").val();var t=e.parent().data("message");return _.isEmpty(t)&&(t=""),this.$(".so-toolbar .so-status").html(t),this.filterWidgets(this.filter),!1},searchHandler:function(e){if(13===e.which){var t=this.$(".widget-type-list .widget-type:visible");1===t.length&&t.trigger("click")}else this.filter.search=l(e.target).val().trim(),this.filterWidgets(this.filter)},filterWidgets:function(e){_.isUndefined(e)&&(e={}),_.isUndefined(e.groups)&&(e.groups=""),this.$(".widget-type-list .widget-type").each((function(){var t,i=l(this),s=i.data("class"),o=_.isUndefined(panelsOptions.widgets[s])?null:panelsOptions.widgets[s];(t=!!_.isEmpty(e.groups)||null!==o&&!_.isEmpty(_.intersection(e.groups,panelsOptions.widgets[s].groups)))&&(_.isUndefined(e.search)||""===e.search||-1===o.title.toLowerCase().indexOf(e.search.toLowerCase())&&(t=!1)),t?i.show():i.hide()})),this.balanceWidgetHeights()},widgetClickHandler:function(e){this.builder.trigger("before_user_adds_widget"),this.builder.addHistoryEntry("widget_added");var t=l(e.currentTarget),i=new s.model.widget({class:t.data("class")});i.cell=this.builder.getActiveCell(),i.cell.get("widgets").add(i),this.closeDialog(),this.builder.model.refreshPanelsData(),this.builder.trigger("after_user_adds_widget",i)},balanceWidgetHeights:function(e){var t=[[]],i=null,s=Math.round(this.$(".widget-type").parent().width()/this.$(".widget-type").width());this.$(".widget-type").css("clear","none").filter(":visible").each((function(e,t){e%s==0&&0!==e&&l(t).css("clear","both")})),this.$(".widget-type-wrapper").css("height","auto").filter(":visible").each((function(e,s){var o=l(s);null!==i&&i.position().top!==o.position().top&&(t[t.length]=[]),i=o,t[t.length-1].push(o)})),_.each(t,(function(e,t){var i=_.max(e.map((function(e){return e.height()})));_.each(e,(function(e){e.height(i)}))}))}})},{}],11:[function(e,t,i){t.exports={canCopyPaste:function(){return"undefined"!=typeof Storage&&panelsOptions.user},setModel:function(e){if(!this.canCopyPaste())return!1;var t=panels.helpers.serialize.serialize(e);return e instanceof panels.model.row?t.thingType="row-model":e instanceof panels.model.widget&&(t.thingType="widget-model"),localStorage["panels_clipboard_"+panelsOptions.user]=JSON.stringify(t),!0},isModel:function(e){if(!this.canCopyPaste())return!1;var t=localStorage["panels_clipboard_"+panelsOptions.user];return void 0!==t&&((t=JSON.parse(t)).thingType&&t.thingType===e)},getModel:function(e){if(!this.canCopyPaste())return null;var t=localStorage["panels_clipboard_"+panelsOptions.user];return void 0!==t&&(t=JSON.parse(t)).thingType&&t.thingType===e?panels.helpers.serialize.unserialize(t,t.thingType,null):null}}},{}],12:[function(e,t,i){t.exports={isBlockEditor:function(){return void 0!==wp.blocks},isClassicEditor:function(e){return e.attachedToEditor&&e.$el.is(":visible")}}},{}],13:[function(e,t,i){t.exports={lock:function(){if("hidden"!==jQuery("body").css("overflow")){var e=[self.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft,self.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop];jQuery("body").data({"scroll-position":e}).css("overflow","hidden"),_.isUndefined(e)||window.scrollTo(e[0],e[1])}},unlock:function(){if("hidden"===jQuery("body").css("overflow")&&!jQuery(".so-panels-dialog-wrapper").is(":visible")&&!jQuery(".so-panels-live-editor").is(":visible")){jQuery("body").css("overflow","visible");var e=jQuery("body").data("scroll-position");_.isUndefined(e)||window.scrollTo(e[0],e[1])}}}},{}],14:[function(e,t,i){t.exports={serialize:function(e){var t;if(e instanceof Backbone.Model){var i={};for(var s in e.attributes)if(e.attributes.hasOwnProperty(s)){if("builder"===s||"collection"===s)continue;(t=e.attributes[s])instanceof Backbone.Model||t instanceof Backbone.Collection?i[s]=this.serialize(t):i[s]=t}return i}if(e instanceof Backbone.Collection){for(var l=[],o=0;o<e.models.length;o++)(t=e.models[o])instanceof Backbone.Model||t instanceof Backbone.Collection?l.push(this.serialize(t)):l.push(t);return l}},unserialize:function(e,t,i){var s;switch(t){case"row-model":(s=new panels.model.row).builder=i;var l={style:e.style};e.hasOwnProperty("label")&&(l.label=e.label),e.hasOwnProperty("color_label")&&(l.color_label=e.color_label),s.set(l),s.setCells(this.unserialize(e.cells,"cell-collection",s));break;case"cell-model":(s=new panels.model.cell).row=i,s.set("weight",e.weight),s.set("style",e.style),s.set("widgets",this.unserialize(e.widgets,"widget-collection",s));break;case"widget-model":for(var o in(s=new panels.model.widget).cell=i,e)e.hasOwnProperty(o)&&s.set(o,e[o]);s.set("widget_id",panels.helpers.utils.generateUUID());break;case"cell-collection":s=new panels.collection.cells;for(var n=0;n<e.length;n++)s.push(this.unserialize(e[n],"cell-model",i));break;case"widget-collection":s=new panels.collection.widgets;for(n=0;n<e.length;n++)s.push(this.unserialize(e[n],"widget-model",i));break;default:console.log("Unknown Thing - "+t)}return s}}},{}],15:[function(e,t,i){t.exports={generateUUID:function(){var e=(new Date).getTime();return window.performance&&"function"==typeof window.performance.now&&(e+=performance.now()),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(t){var i=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"==t?i:3&i|8).toString(16)}))},processTemplate:function(e){return _.isUndefined(e)||_.isNull(e)?"":e=(e=(e=e.replace(/{{%/g,"<%")).replace(/%}}/g,"%>")).trim()},selectElementContents:function(e){var t=document.createRange();t.selectNodeContents(e);var i=window.getSelection();i.removeAllRanges(),i.addRange(t)}}},{}],16:[function(e,t,i){var s=window.panels,l=jQuery;t.exports=function(e,t){return this.each((function(){var i=jQuery(this);if(!i.data("soPanelsBuilderWidgetInitialized")||t){var o=i.closest("form").find(".widget-id").val(),n=l.extend(!0,{builderSupports:i.data("builder-supports")},e);if(_.isUndefined(o)||!(o.indexOf("__i__")>-1)){var a=new s.model.builder,r=new s.view.builder({model:a,config:n}),d=i.closest(".so-panels-dialog-wrapper").data("view");_.isUndefined(d)||(d.on("close_dialog",(function(){a.refreshPanelsData()})),d.on("open_dialog_complete",(function(){r.trigger("builder_resize")})),d.model.on("destroy",(function(){a.emptyRows().destroy()})),r.setDialogParents(panelsOptions.loc.layout_widget,d));var h=Boolean(i.closest(".widget-content").length);r.render().attach({container:i,dialog:h||"dialog"===i.data("mode"),type:i.data("type")}).setDataField(i.find("input.panels-data")),h||"dialog"===i.data("mode")?(r.setDialogParents(panelsOptions.loc.layout_widget,r.dialog),i.find(".siteorigin-panels-display-builder").on("click",(function(e){e.preventDefault(),r.dialog.openDialog()}))):i.find(".siteorigin-panels-display-builder").parent().remove(),l(document).trigger("panels_setup",r),i.data("soPanelsBuilderWidgetInitialized",!0)}}}))}},{}],17:[function(e,t,i){
2
  /**
3
  * Everything we need for SiteOrigin Page Builder.
4
  *
5
  * @copyright Greg Priday 2013 - 2016 - <https://siteorigin.com/>
6
  * @license GPL 3.0 http://www.gnu.org/licenses/gpl.html
7
  */
8
- var s={};window.panels=s,window.siteoriginPanels=s,s.helpers={},s.helpers.clipboard=e("./helpers/clipboard"),s.helpers.utils=e("./helpers/utils"),s.helpers.editor=e("./helpers/editor"),s.helpers.serialize=e("./helpers/serialize"),s.helpers.pageScroll=e("./helpers/page-scroll"),s.model={},s.model.widget=e("./model/widget"),s.model.cell=e("./model/cell"),s.model.row=e("./model/row"),s.model.builder=e("./model/builder"),s.model.historyEntry=e("./model/history-entry"),s.collection={},s.collection.widgets=e("./collection/widgets"),s.collection.cells=e("./collection/cells"),s.collection.rows=e("./collection/rows"),s.collection.historyEntries=e("./collection/history-entries"),s.view={},s.view.widget=e("./view/widget"),s.view.cell=e("./view/cell"),s.view.row=e("./view/row"),s.view.builder=e("./view/builder"),s.view.dialog=e("./view/dialog"),s.view.styles=e("./view/styles"),s.view.liveEditor=e("./view/live-editor"),s.dialog={},s.dialog.builder=e("./dialog/builder"),s.dialog.widgets=e("./dialog/widgets"),s.dialog.widget=e("./dialog/widget"),s.dialog.prebuilt=e("./dialog/prebuilt"),s.dialog.row=e("./dialog/row"),s.dialog.history=e("./dialog/history"),s.utils={},s.utils.menu=e("./utils/menu"),jQuery.fn.soPanelsSetupBuilderWidget=e("./jquery/setup-builder-widget"),jQuery((function(e){var t,i,s,l,o=e("#siteorigin-panels-metabox");if(s=e("form#post"),o.length&&s.length)t=o,i=o.find(".siteorigin-panels-data-field"),l={editorType:"tinyMCE",postId:e("#post_ID").val(),editorId:"#content",builderType:o.data("builder-type"),builderSupports:o.data("builder-supports"),loadOnAttach:panelsOptions.loadOnAttach&&1==e("#auto_draft").val(),loadLiveEditor:1==o.data("live-editor"),liveEditorPreview:t.data("preview-url")};else if(e(".siteorigin-panels-builder-form").length){var n=e(".siteorigin-panels-builder-form");t=n.find(".siteorigin-panels-builder-container"),i=n.find('input[name="panels_data"]'),s=n,l={editorType:"standalone",postId:n.data("post-id"),editorId:"#post_content",builderType:n.data("type"),builderSupports:n.data("builder-supports"),loadLiveEditor:!1,liveEditorPreview:n.data("preview-url")}}if(!_.isUndefined(t)){var a=window.siteoriginPanels,r=new a.model.builder,d=new a.view.builder({model:r,config:l});e(document).trigger("before_panels_setup",d),d.render().attach({container:t}).setDataField(i).attachToEditor(),s.on("submit",(function(){r.refreshPanelsData()})),t.removeClass("so-panels-loading"),e(document).trigger("panels_setup",d,window.panels),window.soPanelsBuilderView=d}e(document).on("widget-added",(function(t,i){e(i).find(".siteorigin-page-builder-widget").soPanelsSetupBuilderWidget()})),e("body").hasClass("wp-customizer")||e((function(){e(".siteorigin-page-builder-widget").soPanelsSetupBuilderWidget()})),e(window).on("keyup",(function(t){27===t.which&&e(".so-panels-dialog-wrapper, .so-panels-live-editor").filter(":visible").last().find(".so-title-bar .so-close, .live-editor-close").trigger("click")}))}))},{"./collection/cells":1,"./collection/history-entries":2,"./collection/rows":3,"./collection/widgets":4,"./dialog/builder":5,"./dialog/history":6,"./dialog/prebuilt":7,"./dialog/row":8,"./dialog/widget":9,"./dialog/widgets":10,"./helpers/clipboard":11,"./helpers/editor":12,"./helpers/page-scroll":13,"./helpers/serialize":14,"./helpers/utils":15,"./jquery/setup-builder-widget":16,"./model/builder":18,"./model/cell":19,"./model/history-entry":20,"./model/row":21,"./model/widget":22,"./utils/menu":23,"./view/builder":24,"./view/cell":25,"./view/dialog":26,"./view/live-editor":27,"./view/row":28,"./view/styles":29,"./view/widget":30}],18:[function(e,t,i){t.exports=Backbone.Model.extend({layoutPosition:{BEFORE:"before",AFTER:"after",REPLACE:"replace"},rows:{},defaults:{data:{widgets:[],grids:[],grid_cells:[]}},initialize:function(){this.set("rows",new panels.collection.rows)},addRow:function(e,t,i){i=_.extend({noAnimate:!1},i);var s=new panels.collection.cells(t);e=_.extend({collection:this.get("rows"),cells:s},e);var l=new panels.model.row(e);return l.builder=this,this.get("rows").add(l,i),l},loadPanelsData:function(e,t){try{t===this.layoutPosition.BEFORE?e=this.concatPanelsData(e,this.getPanelsData()):t===this.layoutPosition.AFTER&&(e=this.concatPanelsData(this.getPanelsData(),e)),this.emptyRows(),this.set("data",JSON.parse(JSON.stringify(e)),{silent:!0});var i,s=[];if(_.isUndefined(e.grid_cells))return void this.trigger("load_panels_data");for(var l=0;l<e.grid_cells.length;l++)i=parseInt(e.grid_cells[l].grid),_.isUndefined(s[i])&&(s[i]=[]),s[i].push(e.grid_cells[l]);var o=this;if(_.each(s,(function(t,i){var s={};_.isUndefined(e.grids[i].style)||(s.style=e.grids[i].style),_.isUndefined(e.grids[i].ratio)||(s.ratio=e.grids[i].ratio),_.isUndefined(e.grids[i].ratio_direction)||(s.ratio_direction=e.grids[i].ratio_direction),_.isUndefined(e.grids[i].color_label)||(s.color_label=e.grids[i].color_label),_.isUndefined(e.grids[i].label)||(s.label=e.grids[i].label),o.addRow(s,t,{noAnimate:!0})})),_.isUndefined(e.widgets))return;_.each(e.widgets,(function(e){var t=null;_.isUndefined(e.panels_info)?(t=e.info,delete e.info):(t=e.panels_info,delete e.panels_info);var i=o.get("rows").at(parseInt(t.grid)).get("cells").at(parseInt(t.cell)),s=new panels.model.widget({class:t.class,values:e});_.isUndefined(t.style)||s.set("style",t.style),_.isUndefined(t.read_only)||s.set("read_only",t.read_only),_.isUndefined(t.widget_id)?s.set("widget_id",panels.helpers.utils.generateUUID()):s.set("widget_id",t.widget_id),_.isUndefined(t.label)||s.set("label",t.label),s.cell=i,i.get("widgets").add(s,{noAnimate:!0})})),this.trigger("load_panels_data")}catch(e){console.log("Error loading data: "+e.message)}},concatPanelsData:function(e,t){if(_.isUndefined(t)||_.isUndefined(t.grids)||_.isEmpty(t.grids)||_.isUndefined(t.grid_cells)||_.isEmpty(t.grid_cells))return e;if(_.isUndefined(e)||_.isUndefined(e.grids)||_.isEmpty(e.grids))return t;var i,s=e.grids.length,l=_.isUndefined(e.widgets)?0:e.widgets.length,o={grids:[],grid_cells:[],widgets:[]};for(o.grids=e.grids.concat(t.grids),_.isUndefined(e.grid_cells)||(o.grid_cells=e.grid_cells.slice()),_.isUndefined(e.widgets)||(o.widgets=e.widgets.slice()),i=0;i<t.grid_cells.length;i++){var n=t.grid_cells[i];n.grid=parseInt(n.grid)+s,o.grid_cells.push(n)}if(!_.isUndefined(t.widgets))for(i=0;i<t.widgets.length;i++){var a=t.widgets[i];a.panels_info.grid=parseInt(a.panels_info.grid)+s,a.panels_info.id=parseInt(a.panels_info.id)+l,o.widgets.push(a)}return o},getPanelsData:function(){var e={widgets:[],grids:[],grid_cells:[]},t=0;return this.get("rows").each((function(i,s){i.get("cells").each((function(i,l){i.get("widgets").each((function(i,o){var n={class:i.get("class"),raw:i.get("raw"),grid:s,cell:l,id:t++,widget_id:i.get("widget_id"),style:i.get("style"),label:i.get("label")};_.isEmpty(n.widget_id)&&(n.widget_id=panels.helpers.utils.generateUUID());var a=_.extend(_.clone(i.get("values")),{panels_info:n});e.widgets.push(a)})),e.grid_cells.push({grid:s,index:l,weight:i.get("weight"),style:i.get("style")})})),e.grids.push({cells:i.get("cells").length,style:i.get("style"),ratio:i.get("ratio"),ratio_direction:i.get("ratio_direction"),color_label:i.get("color_label"),label:i.get("label")})})),e},refreshPanelsData:function(e){e=_.extend({silent:!1},e);var t=this.get("data"),i=this.getPanelsData();this.set("data",i,{silent:!0}),e.silent||JSON.stringify(i)===JSON.stringify(t)||(this.trigger("change"),this.trigger("change:data"),this.trigger("refresh_panels_data",i,e))},emptyRows:function(){return _.invoke(this.get("rows").toArray(),"destroy"),this.get("rows").reset(),this},isValidLayoutPosition:function(e){return e===this.layoutPosition.BEFORE||e===this.layoutPosition.AFTER||e===this.layoutPosition.REPLACE},getPanelsDataFromHtml:function(e,t){var i,s=this,l=jQuery('<div id="wrapper">'+e+"</div>");if(l.find(".panel-layout .panel-grid").length){var o={grids:[],grid_cells:[],widgets:[]},n=new RegExp(panelsOptions.siteoriginWidgetRegex,"i"),a=(i=document.createElement("div"),function(e){return e&&"string"==typeof e&&(e=(e=e.replace(/<script[^>]*>([\S\s]*?)<\/script>/gim,"")).replace(/<\/?\w(?:[^"'>]|"[^"]*"|'[^']*')*>/gim,""),i.innerHTML=e,e=i.textContent,i.textContent=""),e}),r=function(e){var t=e.find("div");if(!t.length)return e.html();for(var i=0;i<t.length-1&&t.eq(i).text().trim()==t.eq(i+1).text().trim();i++);var s=t.eq(i).find(".widget-title:header"),l="";return s.length&&(l=s.html(),s.remove()),{title:l,text:t.eq(i).html()}},d=l.find(".panel-layout").eq(0),h=function(e,t){return jQuery(t).closest(".panel-layout").is(d)};return l.find("> .panel-layout > .panel-grid").filter(h).each((function(e,i){var l=jQuery(i),d=l.find(".panel-grid-cell").filter(h);o.grids.push({cells:d.length,style:l.data("style"),ratio:l.data("ratio"),ratio_direction:l.data("ratio-direction"),color_label:l.data("color-label"),label:l.data("label")}),d.each((function(i,l){var d=jQuery(l),c=d.find(".so-panel").filter(h);o.grid_cells.push({grid:e,weight:_.isUndefined(d.data("weight"))?1:parseFloat(d.data("weight")),style:d.data("style")}),c.each((function(l,d){var h=jQuery(d),c=h.find(".panel-widget-style").length?h.find(".panel-widget-style").html():h.html(),u={grid:e,cell:i,style:h.data("style"),raw:!1,label:h.data("label")};c=c.trim();var p=n.exec(c);if(!_.isNull(p)&&""===c.replace(n,"").trim()){try{var g=/class="(.*?)"/.exec(p[3]),f=jQuery(p[5]),w=JSON.parse(a(f.val())).instance;u.class=g[1].replace(/\\\\+/g,"\\"),u.raw=!1,w.panels_info=u,o.widgets.push(w)}catch(e){u.class=t,o.widgets.push(_.extend(r(h),{filter:"1",type:"visual",panels_info:u}))}return!0}return-1!==c.indexOf("panel-layout")&&jQuery("<div>"+c+"</div>").find(".panel-layout .panel-grid").length?(u.class="SiteOrigin_Panels_Widgets_Layout",o.widgets.push({panels_data:s.getPanelsDataFromHtml(c,t),panels_info:u}),!0):(u.class=t,o.widgets.push(_.extend(r(h),{filter:"1",type:"visual",panels_info:u})),!0)}))}))})),l.find(".panel-layout").remove(),l.find("style[data-panels-style-for-post]").remove(),l.html().replace(/^\s+|\s+$/gm,"").length&&(o.grids.push({cells:1,style:{}}),o.grid_cells.push({grid:o.grids.length-1,weight:1}),o.widgets.push({filter:"1",text:l.html().replace(/^\s+|\s+$/gm,""),title:"",type:"visual",panels_info:{class:t,raw:!1,grid:o.grids.length-1,cell:0}})),o}return{grid_cells:[{grid:0,weight:1}],grids:[{cells:1}],widgets:[{filter:"1",text:e,title:"",type:"visual",panels_info:{class:t,raw:!1,grid:0,cell:0}}]}}})},{}],19:[function(e,t,i){t.exports=Backbone.Model.extend({widgets:{},row:null,defaults:{weight:0,style:{}},indexes:null,initialize:function(){this.set("widgets",new panels.collection.widgets),this.on("destroy",this.onDestroy,this)},onDestroy:function(){_.invoke(this.get("widgets").toArray(),"destroy"),this.get("widgets").reset()},clone:function(e,t){_.isUndefined(e)&&(e=this.row),t=_.extend({cloneWidgets:!0},t);var i=new this.constructor(this.attributes);return i.set("collection",e.get("cells"),{silent:!0}),i.row=e,t.cloneWidgets&&this.get("widgets").each((function(e){i.get("widgets").add(e.clone(i,t),{silent:!0})})),i}})},{}],20:[function(e,t,i){t.exports=Backbone.Model.extend({defaults:{text:"",data:"",time:null,count:1}})},{}],21:[function(e,t,i){t.exports=Backbone.Model.extend({builder:null,defaults:{style:{}},indexes:null,initialize:function(){_.isEmpty(this.get("cells"))?this.set("cells",new panels.collection.cells):this.get("cells").each(function(e){e.row=this}.bind(this)),this.on("destroy",this.onDestroy,this)},setCells:function(e){var t=this.get("cells")||new panels.collection.cells,i=[];t.each((function(s,l){var o=e.at(l);if(o)s.set("weight",o.get("weight"));else{for(var n=t.at(e.length-1),a=s.get("widgets").models.slice(),r=0;r<a.length;r++)a[r].moveToCell(n,{silent:!1});i.push(s)}})),_.each(i,(function(e){t.remove(e)})),e.length>t.length&&_.each(e.slice(t.length,e.length),function(e){e.set({collection:t}),e.row=this,t.add(e)}.bind(this)),this.reweightCells()},reweightCells:function(){var e=0,t=this.get("cells");t.each((function(t){e+=t.get("weight")})),t.each((function(t){t.set("weight",t.get("weight")/e)})),this.trigger("reweight_cells")},onDestroy:function(){_.invoke(this.get("cells").toArray(),"destroy"),this.get("cells").reset()},clone:function(e){_.isUndefined(e)&&(e=this.builder);var t=new this.constructor(this.attributes);t.set("collection",e.get("rows"),{silent:!0}),t.builder=e;var i=new panels.collection.cells;return this.get("cells").each((function(e){i.add(e.clone(t),{silent:!0})})),t.set("cells",i),t}})},{}],22:[function(e,t,i){t.exports=Backbone.Model.extend({cell:null,defaults:{class:null,missing:!1,values:{},raw:!1,style:{},read_only:!1,widget_id:""},indexes:null,initialize:function(){var e=this.get("class");!_.isUndefined(panelsOptions.widgets[e])&&panelsOptions.widgets[e].installed||this.set("missing",!0)},getWidgetField:function(e){return _.isUndefined(panelsOptions.widgets[this.get("class")])?"title"===e||"description"===e?panelsOptions.loc.missing_widget[e]:"":this.has("label")&&!_.isEmpty(this.get("label"))?this.get("label"):panelsOptions.widgets[this.get("class")][e]},moveToCell:function(e,t,i){return t=_.extend({silent:!0},t),this.cell=e,this.collection.remove(this,t),e.get("widgets").add(this,_.extend({at:i},t)),this.trigger("move_to_cell",e,i),this},setValues:function(e){var t=!1;JSON.stringify(e)!==JSON.stringify(this.get("values"))&&(t=!0),this.set("values",e,{silent:!0}),t&&(this.trigger("change",this),this.trigger("change:values"))},clone:function(e,t){_.isUndefined(e)&&(e=this.cell);var i=new this.constructor(this.attributes),s=JSON.parse(JSON.stringify(this.get("values"))),l=function(e){return _.each(e,(function(t,i){_.isString(i)&&"_"===i[0]?delete e[i]:_.isObject(e[i])&&l(e[i])})),e};return s=l(s),"SiteOrigin_Panels_Widgets_Layout"===this.get("class")&&(s.builder_id=Math.random().toString(36).substr(2)),i.set("widget_id",""),i.set("values",s,{silent:!0}),i.set("collection",e.get("widgets"),{silent:!0}),i.cell=e,i.isDuplicate=!0,i},getTitle:function(){var e=panelsOptions.widgets[this.get("class")];if(_.isUndefined(e))return this.get("class").replace(/_/g," ");if(!_.isUndefined(e.panels_title)&&!1===e.panels_title)return panelsOptions.widgets[this.get("class")].description;var t=this.get("values"),i=["title","text"];for(var s in t)"_"!==s.charAt(0)&&"so_sidebar_emulator_id"!==s&&"option_name"!==s&&t.hasOwnProperty(s)&&i.push(s);for(var l in i=_.uniq(i))if(!_.isUndefined(t[i[l]])&&_.isString(t[i[l]])&&""!==t[i[l]]&&"on"!==t[i[l]]&&"true"!==t[i[l]]&&"false"!==t[i[l]]&&"_"!==i[l][0]&&!_.isFinite(t[i[l]])){var o=t[i[l]],n=(o=o.replace(/<\/?[^>]+(>|$)/g,"")).split(" ");return(n=n.slice(0,20)).join(" ")}return this.getWidgetField("description")}})},{}],23:[function(e,t,i){var s=window.panels,l=jQuery;t.exports=Backbone.View.extend({wrapperTemplate:_.template(s.helpers.utils.processTemplate(l("#siteorigin-panels-context-menu").html())),sectionTemplate:_.template(s.helpers.utils.processTemplate(l("#siteorigin-panels-context-menu-section").html())),contexts:[],active:!1,events:{"keyup .so-search-wrapper input":"searchKeyUp"},initialize:function(){this.listenContextMenu(),this.render(),this.attach()},listenContextMenu:function(){var e=this;l(window).on("contextmenu",(function(t){return e.active&&!e.isOverEl(e.$el,t)?(e.closeMenu(),e.active=!1,t.preventDefault(),!1):!!e.active||(e.active=!1,e.trigger("activate_context",t,e),void(e.active&&(t.preventDefault(),e.openMenu({left:t.pageX,top:t.pageY}))))}))},render:function(){this.setElement(this.wrapperTemplate())},attach:function(){this.$el.appendTo("body")},openMenu:function(e){this.trigger("open_menu"),l(window).on("keyup",{menu:this},this.keyboardListen),l(window).on("click",{menu:this},this.clickOutsideListen),this.$el.css("max-height",l(window).height()-20),e.left+this.$el.outerWidth()+10>=l(window).width()&&(e.left=l(window).width()-this.$el.outerWidth()-10),e.left<=0&&(e.left=10),e.top+this.$el.outerHeight()-l(window).scrollTop()+10>=l(window).height()&&(e.top=l(window).height()+l(window).scrollTop()-this.$el.outerHeight()-10),e.left<=0&&(e.left=10),this.$el.css({left:e.left+1,top:e.top+1}).show(),this.$(".so-search-wrapper input").trigger("focus")},closeMenu:function(){this.trigger("close_menu"),l(window).off("keyup",this.keyboardListen),l(window).off("click",this.clickOutsideListen),this.active=!1,this.$el.empty().hide()},keyboardListen:function(e){var t=e.data.menu;switch(e.which){case 27:t.closeMenu()}},clickOutsideListen:function(e){var t=e.data.menu;3!==e.which&&t.$el.is(":visible")&&!t.isOverEl(t.$el,e)&&t.closeMenu()},addSection:function(e,t,i,s){var o=this;t=_.extend({display:5,defaultDisplay:!1,search:!0,sectionTitle:"",searchPlaceholder:"",titleKey:"title"},t);var n=l(this.sectionTemplate({settings:t,items:i})).attr("id","panels-menu-section-"+e);this.$el.append(n),n.find(".so-item:not(.so-confirm)").on("click",(function(){var e=l(this);s(e.data("key")),o.closeMenu()})),n.find(".so-item.so-confirm").on("click",(function(){var e=l(this);if(e.hasClass("so-confirming"))return s(e.data("key")),void o.closeMenu();e.data("original-text",e.html()).addClass("so-confirming").html('<span class="dashicons dashicons-yes"></span> '+panelsOptions.loc.dropdown_confirm),setTimeout((function(){e.removeClass("so-confirming"),e.html(e.data("original-text"))}),2500)})),n.data("settings",t).find(".so-search-wrapper input").trigger("keyup"),this.active=!0},hasSection:function(e){return this.$el.find("#panels-menu-section-"+e).length>0},searchKeyUp:function(e){var t=l(e.currentTarget),i=t.closest(".so-section"),s=i.data("settings");if(38===e.which||40===e.which){var o=i.find("ul li:visible"),n=o.filter(".so-active").eq(0);if(n.length){o.removeClass("so-active");var a=o.index(n);38===e.which?n=a-1<0?o.last():o.eq(a-1):40===e.which&&(n=a+1>=o.length?o.first():o.eq(a+1))}else 38===e.which?n=o.last():40===e.which&&(n=o.first());return n.addClass("so-active"),!1}if(13===e.which)return 1===i.find("ul li:visible").length?(i.find("ul li:visible").trigger("click"),!1):(i.find("ul li.so-active:visible").trigger("click"),!1);if(""===t.val())if(s.defaultDisplay){i.find(".so-item").hide();for(var r=0;r<s.defaultDisplay.length;r++)i.find('.so-item[data-key="'+s.defaultDisplay[r]+'"]').show()}else i.find(".so-item").show();else i.find(".so-item").hide().each((function(){var e=l(this);-1!==e.html().toLowerCase().indexOf(t.val().toLowerCase())&&e.show()}));i.find(".so-item:visible:gt("+(s.display-1)+")").hide(),0===i.find(".so-item:visible").length&&""!==t.val()?i.find(".so-no-results").show():i.find(".so-no-results").hide()},isOverEl:function(e,t){var i=[[e.offset().left,e.offset().top],[e.offset().left+e.outerWidth(),e.offset().top+e.outerHeight()]];return t.pageX>=i[0][0]&&t.pageX<=i[1][0]&&t.pageY>=i[0][1]&&t.pageY<=i[1][1]}})},{}],24:[function(e,t,i){var s=window.panels,l=jQuery;t.exports=Backbone.View.extend({config:{},template:_.template(s.helpers.utils.processTemplate(l("#siteorigin-panels-builder").html())),dialogs:{},rowsSortable:null,dataField:!1,currentData:"",contentPreview:"",attachedToEditor:!1,attachedVisible:!1,liveEditor:void 0,menu:!1,activeCell:null,events:{"click .so-tool-button.so-widget-add":"displayAddWidgetDialog","click .so-tool-button.so-row-add":"displayAddRowDialog","click .so-tool-button.so-prebuilt-add":"displayAddPrebuiltDialog","click .so-tool-button.so-history":"displayHistoryDialog","click .so-tool-button.so-live-editor":"displayLiveEditor"},rows:null,initialize:function(e){var t=this;return this.config=_.extend({loadLiveEditor:!1,builderSupports:{}},e.config),this.config.builderSupports=_.extend({addRow:!0,editRow:!0,deleteRow:!0,moveRow:!0,addWidget:!0,editWidget:!0,deleteWidget:!0,moveWidget:!0,prebuilt:!0,history:!0,liveEditor:!0,revertToEditor:!0},this.config.builderSupports),e.config.loadLiveEditor&&this.on("builder_live_editor_added",(function(){this.displayLiveEditor()})),this.dialogs={widgets:new s.dialog.widgets,row:new s.dialog.row,prebuilt:new s.dialog.prebuilt},$panelsMetabox=l("#siteorigin-panels-metabox"),$panelsMetabox.length&&(this.contentPreview=l.parseHTML($panelsMetabox.data("preview-markup"))),_.each(this.dialogs,(function(e,i,s){s[i].setBuilder(t)})),this.dialogs.row.setRowDialogType("create"),this.listenTo(this.model.get("rows"),"add",this.onAddRow),l(window).on("resize",(function(e){e.target===window&&t.trigger("builder_resize")})),this.listenTo(this.model,"change:data load_panels_data",this.storeModelData),this.listenTo(this.model,"change:data load_panels_data",this.toggleWelcomeDisplay),this.on("builder_attached_to_editor",this.handleContentChange,this),this.on("content_change",this.handleContentChange,this),this.on("display_builder",this.handleDisplayBuilder,this),this.on("hide_builder",this.handleHideBuilder,this),this.on("builder_rendered builder_resize",this.handleBuilderSizing,this),this.on("display_builder",this.wrapEditorExpandAdjust,this),this.menu=new s.utils.menu({}),this.listenTo(this.menu,"activate_context",this.activateContextMenu),this.config.loadOnAttach&&this.on("builder_attached_to_editor",(function(){this.displayAttachedBuilder({confirm:!1})}),this),this},render:function(){return this.setElement(this.template()),this.$el.attr("id","siteorigin-panels-builder-"+this.cid).addClass("so-builder-container"),this.trigger("builder_rendered"),this},attach:function(e){(e=_.extend({container:!1,dialog:!1},e)).dialog?(this.dialog=new s.dialog.builder,this.dialog.builder=this):(this.$el.appendTo(e.container),this.metabox=e.container.closest(".postbox"),this.initSortable(),this.trigger("attached_to_container",e.container)),this.trigger("builder_attached"),this.supports("liveEditor")&&this.addLiveEditor(),this.supports("history")&&this.addHistoryBrowser();var t=this.$(".so-builder-toolbar"),i=this.$(".so-panels-welcome-message"),l=panelsOptions.loc.welcomeMessage,o=[];this.supports("addWidget")?o.push(l.addWidgetButton):t.find(".so-widget-add").hide(),this.supports("addRow")?o.push(l.addRowButton):t.find(".so-row-add").hide(),this.supports("prebuilt")?o.push(l.addPrebuiltButton):t.find(".so-prebuilt-add").hide();var n="";3===o.length?n=l.threeEnabled:2===o.length?n=l.twoEnabled:1===o.length?n=l.oneEnabled:0===o.length&&(n=l.addingDisabled);var a=_.template(s.helpers.utils.processTemplate(n))({items:o})+" "+l.docsMessage;return i.find(".so-message-wrapper").html(a),this},attachToEditor:function(){if("tinyMCE"!==this.config.editorType)return this;this.attachedToEditor=!0;var e=this.metabox,t=this;l("#wp-content-wrap .wp-editor-tabs").find(".wp-switch-editor").on("click",(function(e){e.preventDefault(),l("#wp-content-editor-container").show(),l("#wp-content-wrap").removeClass("panels-active"),l("#content-resize-handle").show(),t.trigger("hide_builder")})).end().append(l('<button type="button" id="content-panels" class="hide-if-no-js wp-switch-editor switch-panels">'+e.find("h2.hndle").html()+"</button>").on("click",(function(e){t.displayAttachedBuilder({confirm:!0})&&e.preventDefault()}))),this.supports("revertToEditor")&&e.find(".so-switch-to-standard").on("click",(function(i){i.preventDefault(),confirm(panelsOptions.loc.confirm_stop_builder)&&(t.addHistoryEntry("back_to_editor"),t.model.loadPanelsData(!1),l("#wp-content-wrap").show(),e.hide(),l(window).trigger("resize"),t.attachedVisible=!1,t.trigger("hide_builder"))})).show(),e.insertAfter("#wp-content-wrap").hide().addClass("attached-to-editor");var i=this.model.get("data");_.isEmpty(i.widgets)&&_.isEmpty(i.grids)&&this.supports("revertToEditor")||this.displayAttachedBuilder({confirm:!1});var s=function(){var e=t.$(".so-builder-toolbar");if(t.$el.hasClass("so-display-narrow"))return e.css({top:0,left:0,width:"100%",position:"absolute"}),void t.$el.css("padding-top",e.outerHeight()+"px");var i=l(window).scrollTop()-t.$el.offset().top;"fixed"===l("#wpadminbar").css("position")&&(i+=l("#wpadminbar").outerHeight());var s=0,o=t.$el.outerHeight()-e.outerHeight()+20;i>s&&i<o?"fixed"!==e.css("position")&&e.css({top:l("#wpadminbar").outerHeight(),left:t.$el.offset().left+"px",width:t.$el.outerWidth()+"px",position:"fixed"}):e.css({top:Math.min(Math.max(i,0),t.$el.outerHeight()-e.outerHeight()+20)+"px",left:0,width:"100%",position:"absolute"}),t.$el.css("padding-top",e.outerHeight()+"px")};return this.on("builder_resize",s,this),l(document).on("scroll",s),s(),this.trigger("builder_attached_to_editor"),this},displayAttachedBuilder:function(e){if((e=_.extend({confirm:!0},e)).confirm){var t="undefined"!=typeof tinyMCE&&tinyMCE.get("content");if(""!==(t&&_.isFunction(t.getContent)?t.getContent():l("textarea#content").val())&&!confirm(panelsOptions.loc.confirm_use_builder))return!1}return l("#wp-content-wrap").hide(),l("#editor-expand-toggle").on("change.editor-expand",(function(){l(this).prop("checked")||l("#wp-content-wrap").hide()})),this.metabox.show().find("> .inside").show(),l(window).trigger("resize"),l(document).trigger("scroll"),this.attachedVisible=!0,this.trigger("display_builder"),!0},initSortable:function(){if(!this.supports("moveRow"))return this;var e=this,t=e.$el.attr("id");return this.rowsSortable=this.$(".so-rows-container").sortable({appendTo:"#wpwrap",items:".so-row-container",handle:".so-row-move",connectWith:"#"+t+".so-rows-container,.block-editor .so-rows-container",axis:"y",tolerance:"pointer",scroll:!1,remove:function(t,i){e.model.get("rows").remove(l(i.item).data("view").model,{silent:!0}),e.model.refreshPanelsData()},receive:function(t,i){e.model.get("rows").add(l(i.item).data("view").model,{silent:!0,at:l(i.item).index()}),e.model.refreshPanelsData()},stop:function(t,i){var s=l(i.item),o=s.data("view"),n=e.model.get("rows");n.get(o.model)&&(e.addHistoryEntry("row_moved"),n.remove(o.model,{silent:!0}),n.add(o.model,{silent:!0,at:s.index()}),o.trigger("move",s.index()),e.model.refreshPanelsData())}}),this},refreshSortable:function(){_.isNull(this.rowsSortable)||this.rowsSortable.sortable("refresh")},setDataField:function(e,t){if(t=_.extend({load:!0},t),this.dataField=e,this.dataField.data("builder",this),t.load&&""!==e.val()){var i=this.dataField.val();try{i=JSON.parse(i)}catch(e){console.log("Failed to parse Page Builder layout data from supplied data field."),i={}}this.setData(i)}return this},setData:function(e){this.model.loadPanelsData(e),this.currentData=e,this.toggleWelcomeDisplay()},getData:function(){return this.model.get("data")},storeModelData:function(){var e=JSON.stringify(this.model.get("data"));l(this.dataField).val()!==e&&(l(this.dataField).val(e),l(this.dataField).trigger("change"),this.trigger("content_change"))},onAddRow:function(e,t,i){i=_.extend({noAnimate:!1},i);var l=new s.view.row({model:e});l.builder=this,l.render(),_.isUndefined(i.at)||t.length<=1?l.$el.appendTo(this.$(".so-rows-container")):l.$el.insertAfter(this.$(".so-rows-container .so-row-container").eq(i.at-1)),!1===i.noAnimate&&l.visualCreate(),this.refreshSortable(),l.resizeRow(),this.trigger("row_added")},displayAddWidgetDialog:function(){this.dialogs.widgets.openDialog()},displayAddRowDialog:function(){var e=new s.model.row,t=new s.collection.cells([{weight:.5},{weight:.5}]);t.each((function(t){t.row=e})),e.set("cells",t),e.builder=this.model,this.dialogs.row.setRowModel(e),this.dialogs.row.openDialog()},displayAddPrebuiltDialog:function(){this.dialogs.prebuilt.openDialog()},displayHistoryDialog:function(){this.dialogs.history.openDialog()},pasteRowHandler:function(){var e=s.helpers.clipboard.getModel("row-model");!_.isEmpty(e)&&e instanceof s.model.row&&(this.addHistoryEntry("row_pasted"),e.builder=this.model,this.model.get("rows").add(e,{at:this.model.get("rows").indexOf(this.model)+1}),this.model.refreshPanelsData())},getActiveCell:function(e){if(e=_.extend({createCell:!0},e),!this.model.get("rows").length){if(!e.createCell)return null;this.model.addRow({},[{weight:1}],{noAnimate:!0})}var t=this.activeCell;return _.isEmpty(t)||-1===this.model.get("rows").indexOf(t.model.row)?this.model.get("rows").last().get("cells").first():t.model},addLiveEditor:function(){return _.isEmpty(this.config.liveEditorPreview)?this:(this.liveEditor=new s.view.liveEditor({builder:this,previewUrl:this.config.liveEditorPreview}),this.liveEditor.hasPreviewUrl()&&this.$(".so-builder-toolbar .so-live-editor").show(),this.trigger("builder_live_editor_added"),this)},displayLiveEditor:function(){_.isUndefined(this.liveEditor)||this.liveEditor.open()},addHistoryBrowser:function(){if(_.isEmpty(this.config.liveEditorPreview))return this;this.dialogs.history=new s.dialog.history,this.dialogs.history.builder=this,this.dialogs.history.entries.builder=this.model,this.dialogs.history.setRevertEntry(this.model),this.$(".so-builder-toolbar .so-history").show()},addHistoryEntry:function(e,t){_.isUndefined(t)&&(t=null),_.isUndefined(this.dialogs.history)||this.dialogs.history.entries.addEntry(e,t)},supports:function(e){return"rowAction"===e?this.supports("addRow")||this.supports("editRow")||this.supports("deleteRow"):"widgetAction"===e?this.supports("addWidget")||this.supports("editWidget")||this.supports("deleteWidget"):!_.isUndefined(this.config.builderSupports[e])&&this.config.builderSupports[e]},handleContentChange:function(){if(panelsOptions.copy_content&&(s.helpers.editor.isBlockEditor()||s.helpers.editor.isClassicEditor(this))){var e=this.model.getPanelsData();_.isEmpty(e.widgets)||l.post(panelsOptions.ajaxurl,{action:"so_panels_builder_content_json",panels_data:JSON.stringify(e),post_id:this.config.postId},function(e){this.contentPreview&&""!==e.post_content&&this.updateEditorContent(e.post_content),""!==e.preview&&(this.contentPreview=e.preview)}.bind(this))}},updateEditorContent:function(e){if("tinyMCE"!==this.config.editorType||"undefined"==typeof tinyMCE||_.isNull(tinyMCE.get("content"))){l(this.config.editorId).val(e).trigger("change").trigger("keyup")}else{var t=tinyMCE.get("content");t.setContent(e),t.fire("change"),t.fire("keyup")}this.triggerSeoChange()},triggerSeoChange:function(){"undefined"==typeof YoastSEO||_.isNull(YoastSEO)||_.isNull(YoastSEO.app.refresh)||YoastSEO.app.refresh(),"undefined"==typeof rankMathEditor||_.isNull(rankMathEditor)||_.isNull(rankMathEditor.refresh)||rankMathEditor.refresh("content")},handleDisplayBuilder:function(){var e="undefined"!=typeof tinyMCE&&tinyMCE.get("content"),t=e&&_.isFunction(e.getContent)?e.getContent():l("textarea#content").val();if((_.isEmpty(this.model.get("data"))||_.isEmpty(this.model.get("data").widgets)&&_.isEmpty(this.model.get("data").grids))&&""!==t){var i=panelsOptions.text_widget;if(_.isEmpty(i))return;this.model.loadPanelsData(this.model.getPanelsDataFromHtml(t,i)),this.model.trigger("change"),this.model.trigger("change:data")}l("#post-status-info").addClass("for-siteorigin-panels")},handleHideBuilder:function(){l("#post-status-info").show().removeClass("for-siteorigin-panels")},wrapEditorExpandAdjust:function(){try{for(var e,t=(l.hasData(window)&&l._data(window)).events.scroll,i=0;i<t.length;i++)if("editor-expand"===t[i].namespace){e=t[i],l(window).off("scroll",e.handler),l(window).bind("scroll",function(t){this.attachedVisible||e.handler(t)}.bind(this));break}}catch(e){return}},handleBuilderSizing:function(){var e=this.$el.width();return e?(e<575?this.$el.addClass("so-display-narrow"):this.$el.removeClass("so-display-narrow"),this):this},setDialogParents:function(e,t){_.each(this.dialogs,(function(i,s,l){l[s].setParent(e,t)})),this.on("add_dialog",(function(i){i.setParent(e,t)}),this)},toggleWelcomeDisplay:function(){this.model.get("rows").isEmpty()?this.$(".so-panels-welcome-message").show():this.$(".so-panels-welcome-message").hide()},activateContextMenu:function(e,t){if(l.contains(this.$el.get(0),e.target)){var i=l([]).add(this.$(".so-panels-welcome-message:visible")).add(this.$(".so-rows-container > .so-row-container")).add(this.$(".so-cells > .cell")).add(this.$(".cell-wrapper > .so-widget")).filter((function(i){return t.isOverEl(l(this),e)})),s=i.last().data("view");void 0!==s&&void 0!==s.buildContextualMenu?s.buildContextualMenu(e,t):i.last().hasClass("so-panels-welcome-message")&&this.buildContextualMenu(e,t)}},buildContextualMenu:function(e,t){var i={};this.supports("addRow")&&(i.add_row={title:panelsOptions.loc.contextual.add_row}),s.helpers.clipboard.canCopyPaste()&&s.helpers.clipboard.isModel("row-model")&&this.supports("addRow")&&(i.paste_row={title:panelsOptions.loc.contextual.row_paste}),_.isEmpty(i)||t.addSection("builder-actions",{sectionTitle:panelsOptions.loc.contextual.row_actions,search:!1},i,function(e){switch(e){case"add_row":this.displayAddRowDialog();break;case"paste_row":this.pasteRowHandler()}}.bind(this))}})},{}],25:[function(e,t,i){var s=window.panels,l=jQuery;t.exports=Backbone.View.extend({template:_.template(s.helpers.utils.processTemplate(l("#siteorigin-panels-builder-cell").html())),events:{"click .cell-wrapper":"handleCellClick"},row:null,widgetSortable:null,initialize:function(){this.listenTo(this.model.get("widgets"),"add",this.onAddWidget)},render:function(){var e={weight:this.model.get("weight"),totalWeight:this.row.model.get("cells").totalWeight()};this.setElement(this.template(e)),this.$el.data("view",this);var t=this;return this.model.get("widgets").each((function(e){var i=new s.view.widget({model:e});i.cell=t,i.render(),i.$el.appendTo(t.$(".widgets-container"))})),this.initSortable(),this.initResizable(),this},initSortable:function(){if(!this.row.builder.supports("moveWidget"))return this;var e=this,t=e.row.builder,i=t.$el.attr("id"),s=t.model;return this.widgetSortable=this.$(".widgets-container").sortable({placeholder:"so-widget-sortable-highlight",connectWith:"#"+i+" .so-cells .cell .widgets-container,.block-editor .so-cells .cell .widgets-container",tolerance:"pointer",scroll:!1,over:function(t,i){e.row.builder.trigger("widget_sortable_move")},remove:function(t,i){e.model.get("widgets").remove(l(i.item).data("view").model,{silent:!0}),s.refreshPanelsData()},receive:function(t,i){var o=l(i.item).data("view");o.cell=e;var n=o.model;n.cell=e.model,e.model.get("widgets").add(n,{silent:!0,at:l(i.item).index()}),s.refreshPanelsData()},stop:function(t,i){var o=l(i.item),n=o.data("view"),a=o.closest(".cell").data("view");e.model.get("widgets").get(n.model)&&(e.row.builder.addHistoryEntry("widget_moved"),n.model.moveToCell(a.model,{},o.index()),n.cell=a,s.refreshPanelsData())},helper:function(e,t){var i=t.clone().css({width:t.outerWidth()+"px","z-index":1e4,position:"fixed"}).addClass("widget-being-dragged").appendTo("body");return t.outerWidth()>720&&i.animate({"margin-left":e.pageX-t.offset().left-240,width:480},"fast"),i}}),this},refreshSortable:function(){_.isNull(this.widgetSortable)||this.widgetSortable.sortable("refresh")},initResizable:function(){if(!this.row.builder.supports("editRow"))return this;var e,t=this.$(".resize-handle").css("position","absolute"),i=this.row.$el,s=this;return t.draggable({axis:"x",containment:i,start:function(t,i){if(e=s.$el.prev().data("view"),!_.isUndefined(e)){var o=s.$el.clone().appendTo(i.helper).css({position:"absolute",top:"0",width:s.$el.outerWidth(),left:5,height:s.$el.outerHeight()});o.find(".resize-handle").remove();var n=e.$el.clone().appendTo(i.helper).css({position:"absolute",top:"0",width:e.$el.outerWidth()+"px",right:5,height:e.$el.outerHeight()+"px"});n.find(".resize-handle").remove(),l(this).data({newCellClone:o,prevCellClone:n})}},drag:function(i,o){var n=s.row.$el.width()+10,a=s.model.get("weight")-(o.position.left+t.outerWidth()/2)/n,r=e.model.get("weight")+(o.position.left+t.outerWidth()/2)/n;l(this).data("newCellClone").css("width",n*a+"px").find(".preview-cell-weight").html(Math.round(1e3*a)/10),l(this).data("prevCellClone").css("width",n*r+"px").find(".preview-cell-weight").html(Math.round(1e3*r)/10)},stop:function(i,o){l(this).data("newCellClone").remove(),l(this).data("prevCellClone").remove();var n=s.row.$el.width()+10,a=s.model.get("weight")-(o.position.left+t.outerWidth()/2)/n,r=e.model.get("weight")+(o.position.left+t.outerWidth()/2)/n;a>.02&&r>.02&&(s.row.builder.addHistoryEntry("cell_resized"),s.model.set("weight",a),e.model.set("weight",r),s.row.resizeRow()),o.helper.css("left",-t.outerWidth()/2+"px"),s.row.builder.model.refreshPanelsData()}}),this},onAddWidget:function(e,t,i){i=_.extend({noAnimate:!1},i);var l=new s.view.widget({model:e});l.cell=this,_.isUndefined(e.isDuplicate)&&(e.isDuplicate=!1),l.render({loadForm:e.isDuplicate}),_.isUndefined(i.at)||t.length<=1?l.$el.appendTo(this.$(".widgets-container")):l.$el.insertAfter(this.$(".widgets-container .so-widget").eq(i.at-1)),!1===i.noAnimate&&l.visualCreate(),this.refreshSortable(),this.row.resizeRow(),this.row.builder.trigger("widget_added",l)},handleCellClick:function(e){this.row.builder.$el.find(".so-cells .cell").removeClass("cell-selected"),this.row.builder.activeCell!==this||this.model.get("widgets").length?(this.$el.addClass("cell-selected"),this.row.builder.activeCell=this):this.row.builder.activeCell=null},pasteHandler:function(){var e=s.helpers.clipboard.getModel("widget-model");!_.isEmpty(e)&&e instanceof s.model.widget&&(this.row.builder.addHistoryEntry("widget_pasted"),e.cell=this.model,this.model.get("widgets").add(e),this.row.builder.model.refreshPanelsData())},buildContextualMenu:function(e,t){var i=this;t.hasSection("add-widget-below")||t.addSection("add-widget-cell",{sectionTitle:panelsOptions.loc.contextual.add_widget_cell,searchPlaceholder:panelsOptions.loc.contextual.search_widgets,defaultDisplay:panelsOptions.contextual.default_widgets},panelsOptions.widgets,(function(e){i.row.builder.trigger("before_user_adds_widget"),i.row.builder.addHistoryEntry("widget_added");var t=new s.model.widget({class:e});t.cell=i.model,t.cell.get("widgets").add(t),i.row.builder.model.refreshPanelsData(),i.row.builder.trigger("after_user_adds_widget",t)}));var l={};this.row.builder.supports("addWidget")&&s.helpers.clipboard.isModel("widget-model")&&(l.paste={title:panelsOptions.loc.contextual.cell_paste_widget}),_.isEmpty(l)||t.addSection("cell-actions",{sectionTitle:panelsOptions.loc.contextual.cell_actions,search:!1},l,function(e){switch(e){case"paste":this.pasteHandler()}this.row.builder.model.refreshPanelsData()}.bind(this)),this.row.buildContextualMenu(e,t)}})},{}],26:[function(e,t,i){var s=window.panels,l=jQuery;t.exports=Backbone.View.extend({dialogTemplate:_.template(s.helpers.utils.processTemplate(l("#siteorigin-panels-dialog").html())),dialogTabTemplate:_.template(s.helpers.utils.processTemplate(l("#siteorigin-panels-dialog-tab").html())),tabbed:!1,rendered:!1,builder:!1,className:"so-panels-dialog-wrapper",dialogClass:"",dialogIcon:"",parentDialog:!1,dialogOpen:!1,editableLabel:!1,events:{"click .so-close":"closeDialog","click .so-nav.so-previous":"navToPrevious","click .so-nav.so-next":"navToNext"},initialize:function(){this.once("open_dialog",this.render),this.once("open_dialog",this.attach),this.once("open_dialog",this.setDialogClass),this.trigger("initialize_dialog",this),_.isUndefined(this.initializeDialog)||this.initializeDialog(),_.bindAll(this,"initSidebars","hasSidebar","onResize","toggleLeftSideBar","toggleRightSideBar")},getNextDialog:function(){return null},getPrevDialog:function(){return null},setDialogClass:function(){""!==this.dialogClass&&this.$(".so-panels-dialog").addClass(this.dialogClass)},setBuilder:function(e){return this.builder=e,e.trigger("add_dialog",this,this.builder),this},attach:function(){return this.$el.appendTo("body"),this},parseDialogContent:function(e,t){t=_.extend({cid:this.cid},t);var i=l(_.template(s.helpers.utils.processTemplate(e))(t)),o={title:i.find(".title").html(),buttons:i.find(".buttons").html(),content:i.find(".content").html()};return i.has(".left-sidebar")&&(o.left_sidebar=i.find(".left-sidebar").html()),i.has(".right-sidebar")&&(o.right_sidebar=i.find(".right-sidebar").html()),o},renderDialog:function(e){if(e=_.extend({editableLabel:this.editableLabel,dialogIcon:this.dialogIcon},e),this.$el.html(this.dialogTemplate(e)).hide(),this.$el.data("view",this),this.$el.addClass("so-panels-dialog-wrapper"),!1!==this.parentDialog){var t=l('<h3 class="so-parent-link"></h3>').html(this.parentDialog.text+'<div class="so-separator"></div>');t.on("click",function(e){e.preventDefault(),this.closeDialog(),this.parentDialog.dialog.openDialog()}.bind(this)),this.$(".so-title-bar .so-title").before(t)}return this.$(".so-title-bar .so-title-editable").length&&this.initEditableLabel(),setTimeout(this.initSidebars,1),this},initSidebars:function(){var e=this.$(".so-show-left-sidebar").hide(),t=this.$(".so-show-right-sidebar").hide(),i=this.hasSidebar("left"),s=this.hasSidebar("right");(i||s)&&(l(window).on("resize",this.onResize),i&&(e.show(),e.on("click",this.toggleLeftSideBar)),s&&(t.show(),t.on("click",this.toggleRightSideBar))),this.onResize()},initTabs:function(){var e=this.$(".so-sidebar-tabs li a");if(0===e.length)return this;var t=this;return e.on("click",(function(e){e.preventDefault();var i=l(this);t.$(".so-sidebar-tabs li").removeClass("tab-active"),t.$(".so-content .so-content-tabs > *").hide(),i.parent().addClass("tab-active");var s=i.attr("href");if(!_.isUndefined(s)&&"#"===s.charAt(0)){var o=s.split("#")[1];t.$(".so-content .so-content-tabs .tab-"+o).show()}t.trigger("tab_click",i)})),this.$(".so-sidebar-tabs li a").first().trigger("click"),this},initToolbar:function(){this.$(".so-toolbar .so-buttons .so-toolbar-button").on("click",function(e){e.preventDefault(),this.trigger("button_click",l(e.currentTarget))}.bind(this)),this.$(".so-toolbar .so-buttons .so-dropdown-button").on("click",function(e){e.preventDefault();var t=l(e.currentTarget).siblings(".so-dropdown-links-wrapper");t.is(".hidden")?t.removeClass("hidden"):t.addClass("hidden")}.bind(this)),l("html").on("click",function(e){this.$(".so-dropdown-links-wrapper").not(".hidden").each((function(t,i){var s=l(i),o=l(e.target);0!==o.length&&(o.is(".so-needs-confirm")&&!o.is(".so-confirmed")||o.is(".so-dropdown-button"))||s.addClass("hidden")}))}.bind(this))},initEditableLabel:function(){var e=this.$(".so-title-bar .so-title-editable");e.on("keypress",(function(t){var i="keypress"===t.type&&13===t.keyCode;if(i){var s=l(":tabbable"),o=s.index(e);s.eq(o+1).trigger("focus"),window.getSelection().removeAllRanges()}return!i})).on("blur",function(){var t=e.text().replace(/^\s+|\s+$/gm,"");t!==e.data("original-value").replace(/^\s+|\s+$/gm,"")&&(e.text(t),this.trigger("edit_label",t))}.bind(this)).on("focus",(function(){e.data("original-value",e.text()),s.helpers.utils.selectElementContents(this)}))},setupDialog:function(){this.openDialog(),this.closeDialog()},refreshDialogNav:function(){this.$(".so-title-bar .so-nav").show().removeClass("so-disabled");var e=this.getNextDialog(),t=this.$(".so-title-bar .so-next"),i=this.getPrevDialog(),s=this.$(".so-title-bar .so-previous");null===e?t.hide():!1===e&&t.addClass("so-disabled"),null===i?s.hide():!1===i&&s.addClass("so-disabled")},openDialog:function(e){(e=_.extend({silent:!1},e)).silent||this.trigger("open_dialog"),this.dialogOpen=!0,this.refreshDialogNav(),s.helpers.pageScroll.lock(),this.onResize(),this.$el.show(),e.silent||(this.trigger("open_dialog_complete"),this.builder.trigger("open_dialog",this),l(document).trigger("open_dialog",this))},closeDialog:function(e){(e=_.extend({silent:!1},e)).silent||this.trigger("close_dialog"),this.dialogOpen=!1,this.$el.hide(),s.helpers.pageScroll.unlock(),e.silent||(this.trigger("close_dialog_complete"),this.builder.trigger("close_dialog",this))},navToPrevious:function(){this.closeDialog();var e=this.getPrevDialog();null!==e&&!1!==e&&e.openDialog()},navToNext:function(){this.closeDialog();var e=this.getNextDialog();null!==e&&!1!==e&&e.openDialog()},getFormValues:function(e){_.isUndefined(e)&&(e=".so-content");var t,i=this.$(e),s={};return i.find("[name]").each((function(){var e=l(this);try{var i=/([A-Za-z_]+)\[(.*)\]/.exec(e.attr("name"));if(_.isEmpty(i))return!0;_.isUndefined(i[2])?t=e.attr("name"):(t=i[2].split("][")).unshift(i[1]),t=t.map((function(e){return!isNaN(parseFloat(e))&&isFinite(e)?parseInt(e):e}));var o=s,n=null,a=!!_.isString(e.attr("type"))&&e.attr("type").toLowerCase();if("checkbox"===a)n=e.is(":checked")?""===e.val()||e.val():null;else if("radio"===a){if(!e.is(":checked"))return;n=e.val()}else if("SELECT"===e.prop("tagName")){var r=e.find("option:selected");1===r.length?n=e.find("option:selected").val():r.length>1&&(n=_.map(e.find("option:selected"),(function(e,t){return l(e).val()})))}else n=e.val();if(!_.isUndefined(e.data("panels-filter")))switch(e.data("panels-filter")){case"json_parse":try{n=JSON.parse(n)}catch(e){n=""}}if(null!==n)for(var d=0;d<t.length;d++)d===t.length-1?""===t[d]?o.push(n):o[t[d]]=n:(_.isUndefined(o[t[d]])&&(""===t[d+1]?o[t[d]]=[]:o[t[d]]={}),o=o[t[d]])}catch(t){console.log("Field ["+e.attr("name")+"] could not be processed and was skipped - "+t.message)}})),s},setStatusMessage:function(e,t,i){var s=i?'<span class="dashicons dashicons-warning"></span>'+e:e;this.$(".so-toolbar .so-status").html(s),!_.isUndefined(t)&&t?this.$(".so-toolbar .so-status").addClass("so-panels-loading"):this.$(".so-toolbar .so-status").removeClass("so-panels-loading")},setParent:function(e,t){this.parentDialog={text:e,dialog:t}},onResize:function(){var e=window.matchMedia("(max-width: 980px)");["left","right"].forEach(function(t){var i=this.$(".so-"+t+"-sidebar"),s=this.$(".so-show-"+t+"-sidebar");this.hasSidebar(t)?(s.hide(),e.matches?(s.show(),s.closest(".so-title-bar").addClass("so-has-"+t+"-button"),i.hide(),i.closest(".so-panels-dialog").removeClass("so-panels-dialog-has-"+t+"-sidebar")):(s.hide(),s.closest(".so-title-bar").removeClass("so-has-"+t+"-button"),i.show(),i.closest(".so-panels-dialog").addClass("so-panels-dialog-has-"+t+"-sidebar"))):(i.hide(),s.hide())}.bind(this))},hasSidebar:function(e){return this.$(".so-"+e+"-sidebar").children().length>0},toggleLeftSideBar:function(){this.toggleSidebar("left")},toggleRightSideBar:function(){this.toggleSidebar("right")},toggleSidebar:function(e){var t=this.$(".so-"+e+"-sidebar");t.is(":visible")?t.hide():t.show()}})},{}],27:[function(e,t,i){var s=window.panels,l=jQuery;t.exports=Backbone.View.extend({template:_.template(s.helpers.utils.processTemplate(l("#siteorigin-panels-live-editor").html())),previewScrollTop:0,loadTimes:[],previewFrameId:1,previewUrl:null,previewIframe:null,events:{"click .live-editor-close":"close","click .live-editor-save":"closeAndSave","click .live-editor-collapse":"collapse","click .live-editor-mode":"mobileToggle"},initialize:function(e){e=_.extend({builder:!1,previewUrl:!1},e),_.isEmpty(e.previewUrl)&&(e.previewUrl=panelsOptions.ajaxurl+"&action=so_panels_live_editor_preview"),this.builder=e.builder,this.previewUrl=e.previewUrl,this.listenTo(this.builder.model,"refresh_panels_data",this.handleRefreshData),this.listenTo(this.builder.model,"load_panels_data",this.handleLoadData)},render:function(){if(this.setElement(this.template()),this.$el.hide(),l("#submitdiv #save-post").length>0){var e=this.$el.find(".live-editor-save");e.text(e.data("save"))}var t=!1;l(document).on("mousedown",(function(){t=!0})).on("mouseup",(function(){t=!1}));var i=this;return this.$el.on("mouseenter",".so-widget-wrapper",(function(){var e=l(this).data("live-editor-preview-widget");t||void 0===e||!e.length||i.$(".so-preview-overlay").is(":visible")||(i.highlightElement(e),i.scrollToElement(e))})),this.$el.on("mouseleave",".so-widget-wrapper",function(){this.resetHighlights()}.bind(this)),this.listenTo(this.builder,"open_dialog",(function(){this.resetHighlights()})),this},attach:function(){this.$el.appendTo("body")},open:function(){if(""===this.$el.html()&&this.render(),0===this.$el.closest("body").length&&this.attach(),s.helpers.pageScroll.lock(),this.$el.is(":visible"))return this;if(this.$el.show(),this.refreshPreview(this.builder.model.getPanelsData()),this.originalContainer=this.builder.$el.parent(),this.builder.$el.appendTo(this.$(".so-live-editor-builder")),this.builder.$(".so-tool-button.so-live-editor").hide(),this.builder.trigger("builder_resize"),"auto-draft"===l("#original_post_status").val()&&!this.autoSaved){var e=this;wp.autosave&&(""===l('#title[name="post_title"]').val()&&l('#title[name="post_title"]').val(panelsOptions.loc.draft).trigger("keydown"),l(document).one("heartbeat-tick.autosave",(function(){e.autoSaved=!0,e.refreshPreview(e.builder.model.getPanelsData())})),wp.autosave.server.triggerSave())}},close:function(){if(!this.$el.is(":visible"))return this;this.$el.hide(),s.helpers.pageScroll.unlock(),this.builder.$el.appendTo(this.originalContainer),this.builder.$(".so-tool-button.so-live-editor").show(),this.builder.trigger("builder_resize")},closeAndSave:function(){this.close(),l('#submitdiv input[type="submit"][name="save"]').trigger("click")},collapse:function(){this.$el.toggleClass("so-collapsed")},highlightElement:function(e){_.isUndefined(this.resetHighlightTimeout)||clearTimeout(this.resetHighlightTimeout),this.previewIframe.contents().find("body").find(".panel-grid .panel-grid-cell .so-panel").filter((function(){return 0===l(this).parents(".so-panel").length})).not(e).addClass("so-panels-faded"),e.removeClass("so-panels-faded").addClass("so-panels-highlighted")},resetHighlights:function(){var e=this.previewIframe.contents().find("body");this.resetHighlightTimeout=setTimeout((function(){e.find(".panel-grid .panel-grid-cell .so-panel").removeClass("so-panels-faded so-panels-highlighted")}),100)},scrollToElement:function(e){this.$(".so-preview iframe")[0].contentWindow.liveEditorScrollTo(e)},handleRefreshData:function(e){if(!this.$el.is(":visible"))return this;this.refreshPreview(e)},handleLoadData:function(){if(!this.$el.is(":visible"))return this;this.refreshPreview(this.builder.model.getPanelsData())},refreshPreview:function(e){var t=this.loadTimes.length?_.reduce(this.loadTimes,(function(e,t){return e+t}),0)/this.loadTimes.length:1e3;_.isNull(this.previewIframe)||this.$(".so-preview-overlay").is(":visible")||(this.previewScrollTop=this.previewIframe.contents().scrollTop()),this.$(".so-preview-overlay").show(),this.$(".so-preview-overlay .so-loading-bar").clearQueue().css("width","0%").animate({width:"100%"},parseInt(t)+100),this.postToIframe({live_editor_panels_data:JSON.stringify(e),live_editor_post_ID:this.builder.config.postId},this.previewUrl,this.$(".so-preview")),this.previewIframe.data("load-start",(new Date).getTime())},postToIframe:function(e,t,i){_.isNull(this.previewIframe)||this.previewIframe.remove();var s="siteorigin-panels-live-preview-"+this.previewFrameId;this.previewIframe=l('<iframe src="'+t+'"></iframe>').attr({id:s,name:s}).appendTo(i),this.setupPreviewFrame(this.previewIframe);var o=l('<form id="soPostToPreviewFrame" method="post"></form>').attr({id:s,target:this.previewIframe.attr("id"),action:t}).appendTo("body");return l.each(e,(function(e,t){l('<input type="hidden" />').attr({name:e,value:t}).appendTo(o)})),o.trigger("submit").remove(),this.previewFrameId++,this.previewIframe},setupPreviewFrame:function(e){var t=this;e.data("iframeready",!1).on("iframeready",(function(){var e=l(this),i=e.contents();if(!e.data("iframeready")){e.data("iframeready",!0),void 0!==e.data("load-start")&&(t.loadTimes.unshift((new Date).getTime()-e.data("load-start")),_.isEmpty(t.loadTimes)||(t.loadTimes=t.loadTimes.slice(0,4))),l(".live-editor-mode.so-active").length&&(l(".so-panels-live-editor .so-preview iframe").css("transition","none"),t.mobileToggle()),setTimeout((function(){i.scrollTop(t.previewScrollTop),t.$(".so-preview-overlay").hide(),l(".so-panels-live-editor .so-preview iframe").css("transition","all .2s ease")}),100);var s=i.find("#pl-"+t.builder.config.postId);s.find(".panel-grid .panel-grid-cell .so-panel").filter((function(){return l(this).closest(".panel-layout").is(s)})).each((function(e,i){var s=l(i),o=t.$(".so-live-editor-builder .so-widget-wrapper").eq(s.data("index"));o.data("live-editor-preview-widget",s),s.css({cursor:"pointer"}).on("mouseenter",(function(){o.parent().addClass("so-hovered"),t.highlightElement(s)})).on("mouseleave",(function(){o.parent().removeClass("so-hovered"),t.resetHighlights()})).on("click",(function(e){e.preventDefault(),o.find(".title h4").trigger("click")}))})),i.find("a").css({"pointer-events":"none"}).on("click",(function(e){e.preventDefault()}))}})).on("load",(function(){var e=l(this);e.data("iframeready")||e.trigger("iframeready")}))},hasPreviewUrl:function(){return""!==this.$("form.live-editor-form").attr("action")},mobileToggle:function(e){var t=l(void 0!==e?e.currentTarget:".live-editor-mode.so-active");this.$(".live-editor-mode").not(t).removeClass("so-active"),t.addClass("so-active"),this.$el.removeClass("live-editor-desktop-mode live-editor-tablet-mode live-editor-mobile-mode").addClass("live-editor-"+t.data("mode")+"-mode").find("iframe").css("width",t.data("width"))}})},{}],28:[function(e,t,i){var s=window.panels,l=jQuery;t.exports=Backbone.View.extend({template:_.template(s.helpers.utils.processTemplate(l("#siteorigin-panels-builder-row").html())),events:{"click .so-row-settings":"editSettingsHandler","click .so-row-duplicate":"duplicateHandler","click .so-row-delete":"confirmedDeleteHandler","click .so-row-color":"rowColorChangeHandler"},builder:null,dialog:null,initialize:function(){var e=this.model.get("cells");this.listenTo(e,"add",this.handleCellAdd),this.listenTo(e,"remove",this.handleCellRemove),this.listenTo(this.model,"reweight_cells",this.resizeRow),this.listenTo(this.model,"destroy",this.onModelDestroy);var t=this;e.each((function(e){t.listenTo(e.get("widgets"),"add",t.resize)})),e.on("add",(function(e){t.listenTo(e.get("widgets"),"add",t.resize)}),this),this.listenTo(this.model,"change:label",this.onLabelChange)},render:function(){var e=this.model.has("color_label")?this.model.get("color_label"):1,t=this.model.has("label")?this.model.get("label"):"";this.setElement(this.template({rowColorLabel:e,rowLabel:t})),this.$el.data("view",this);var i=this;return this.model.get("cells").each((function(e){var t=new s.view.cell({model:e});t.row=i,t.render(),t.$el.appendTo(i.$(".so-cells"))})),this.builder.supports("rowAction")?(this.builder.supports("editRow")||(this.$(".so-row-toolbar .so-dropdown-links-wrapper .so-row-settings").parent().remove(),this.$el.addClass("so-row-no-edit")),this.builder.supports("addRow")||(this.$(".so-row-toolbar .so-dropdown-links-wrapper .so-row-duplicate").parent().remove(),this.$el.addClass("so-row-no-duplicate")),this.builder.supports("deleteRow")||(this.$(".so-row-toolbar .so-dropdown-links-wrapper .so-row-delete").parent().remove(),this.$el.addClass("so-row-no-delete"))):(this.$(".so-row-toolbar .so-dropdown-wrapper").remove(),this.$el.addClass("so-row-no-actions")),this.builder.supports("moveRow")||(this.$(".so-row-toolbar .so-row-move").remove(),this.$el.addClass("so-row-no-move")),this.$(".so-row-toolbar").html().trim().length||this.$(".so-row-toolbar").remove(),this.listenTo(this.builder,"widget_sortable_move",this.resizeRow),this.listenTo(this.builder,"builder_resize",this.resizeRow),this.resizeRow(),this},visualCreate:function(){this.$el.hide().fadeIn("fast")},resizeRow:function(e){if(this.$el.is(":visible")){this.$(".so-cells .cell-wrapper").css("min-height",0),this.$(".so-cells .resize-handle").css("height",0);var t=0;this.$(".so-cells .cell").each((function(){t=Math.max(t,l(this).height()),l(this).css("width",100*l(this).data("view").model.get("weight")+"%")})),this.$(".so-cells .cell-wrapper").css("min-height",Math.max(t,63)+"px"),this.$(".so-cells .resize-handle").css("height",this.$(".so-cells .cell-wrapper").outerHeight()+"px")}},onModelDestroy:function(){this.remove()},visualDestroyModel:function(){this.builder.addHistoryEntry("row_deleted");var e=this;this.$el.fadeOut("normal",(function(){e.model.destroy(),e.builder.model.refreshPanelsData()}))},onLabelChange:function(e,t){0==this.$(".so-row-label").length?this.$(".so-row-toolbar").prepend('<h3 class="so-row-label">'+t+"</h3>"):this.$(".so-row-label").text(t)},duplicateHandler:function(){this.builder.addHistoryEntry("row_duplicated");var e=this.model.clone(this.builder.model);this.builder.model.get("rows").add(e,{at:this.builder.model.get("rows").indexOf(this.model)+1}),this.builder.model.refreshPanelsData()},copyHandler:function(){s.helpers.clipboard.setModel(this.model)},pasteHandler:function(){var e=s.helpers.clipboard.getModel("row-model");!_.isEmpty(e)&&e instanceof s.model.row&&(this.builder.addHistoryEntry("row_pasted"),e.builder=this.builder.model,this.builder.model.get("rows").add(e,{at:this.builder.model.get("rows").indexOf(this.model)+1}),this.builder.model.refreshPanelsData())},confirmedDeleteHandler:function(e){var t=l(e.target);if(t.hasClass("dashicons")&&(t=t.parent()),t.hasClass("so-confirmed"))this.visualDestroyModel();else{var i=t.html();t.addClass("so-confirmed").html('<span class="dashicons dashicons-yes"></span>'+panelsOptions.loc.dropdown_confirm),setTimeout((function(){t.removeClass("so-confirmed").html(i)}),2500)}},editSettingsHandler:function(){if(this.builder.supports("editRow"))return null===this.dialog&&(this.dialog=new s.dialog.row,this.dialog.setBuilder(this.builder).setRowModel(this.model),this.dialog.rowView=this),this.dialog.openDialog(),this},deleteHandler:function(){return this.model.destroy(),this},rowColorChangeHandler:function(e){this.$(".so-row-color").removeClass("so-row-color-selected");var t=l(e.target),i=t.data("color-label"),s=this.model.has("color_label")?this.model.get("color_label"):1;t.addClass("so-row-color-selected"),this.$el.removeClass("so-row-color-"+s),this.$el.addClass("so-row-color-"+i),this.model.set("color_label",i)},handleCellAdd:function(e){var t=new s.view.cell({model:e});t.row=this,t.render(),t.$el.appendTo(this.$(".so-cells"))},handleCellRemove:function(e){this.$(".so-cells > .cell").each((function(){var t=l(this).data("view");_.isUndefined(t)||t.model.cid===e.cid&&t.remove()}))},buildContextualMenu:function(e,t){for(var i=[],l=1;l<5;l++)i.push({title:l+" "+panelsOptions.loc.contextual.column});this.builder.supports("addRow")&&t.addSection("add-row",{sectionTitle:panelsOptions.loc.contextual.add_row,search:!1},i,function(e){this.builder.addHistoryEntry("row_added");for(var t=Number(e)+1,i=[],l=0;l<t;l++)i.push({weight:100/t});var o=new s.model.row({collection:this.collection}),n=new s.collection.cells(i);n.each((function(e){e.row=o})),o.setCells(n),o.builder=this.builder.model,this.builder.model.get("rows").add(o,{at:this.builder.model.get("rows").indexOf(this.model)+1}),this.builder.model.refreshPanelsData()}.bind(this));var o={};this.builder.supports("editRow")&&(o.edit={title:panelsOptions.loc.contextual.row_edit}),s.helpers.clipboard.canCopyPaste()&&(o.copy={title:panelsOptions.loc.contextual.row_copy},this.builder.supports("addRow")&&s.helpers.clipboard.isModel("row-model")&&(o.paste={title:panelsOptions.loc.contextual.row_paste})),this.builder.supports("addRow")&&(o.duplicate={title:panelsOptions.loc.contextual.row_duplicate}),this.builder.supports("deleteRow")&&(o.delete={title:panelsOptions.loc.contextual.row_delete,confirm:!0}),_.isEmpty(o)||t.addSection("row-actions",{sectionTitle:panelsOptions.loc.contextual.row_actions,search:!1},o,function(e){switch(e){case"edit":this.editSettingsHandler();break;case"copy":this.copyHandler();break;case"paste":this.pasteHandler();break;case"duplicate":this.duplicateHandler();break;case"delete":this.visualDestroyModel()}}.bind(this))}})},{}],29:[function(e,t,i){window.panels;var s=jQuery;t.exports=Backbone.View.extend({stylesLoaded:!1,initialize:function(){},render:function(e,t,i){if(!_.isUndefined(e)){i=_.extend({builderType:"",dialog:null},i),this.$el.addClass("so-visual-styles so-"+e+"-styles so-panels-loading");var l={builderType:i.builderType};return"cell"===e&&(l.index=i.index),s.post(panelsOptions.ajaxurl,{action:"so_panels_style_form",type:e,style:this.model.get("style"),args:JSON.stringify(l),postId:t},null,"html").done(function(e){this.$el.html(e),this.setupFields(),this.stylesLoaded=!0,this.trigger("styles_loaded",!_.isEmpty(e)),_.isNull(i.dialog)||i.dialog.trigger("styles_loaded",!_.isEmpty(e))}.bind(this)).fail(function(e){var t;t=e&&e.responseText?e.responseText:panelsOptions.forms.loadingFailed,this.$el.html(t)}.bind(this)).always(function(){this.$el.removeClass("so-panels-loading")}.bind(this)),this}},attach:function(e){e.append(this.$el)},detach:function(){this.$el.detach()},setupFields:function(){this.$(".style-section-wrapper").each((function(){var e=s(this);e.find(".style-section-head").on("click",(function(t){t.preventDefault(),e.find(".style-section-fields").slideToggle("fast")}))})),_.isUndefined(s.fn.wpColorPicker)||(_.isObject(panelsOptions.wpColorPickerOptions.palettes)&&!s.isArray(panelsOptions.wpColorPickerOptions.palettes)&&(panelsOptions.wpColorPickerOptions.palettes=s.map(panelsOptions.wpColorPickerOptions.palettes,(function(e){return e}))),this.$(".so-wp-color-field").wpColorPicker(panelsOptions.wpColorPickerOptions)),this.$(".style-field-image").each((function(){var e=null,t=s(this);t.find(".so-image-selector").on("click",(function(i){i.preventDefault(),null===e&&(e=wp.media({title:"choose",library:{type:"image"},button:{text:"Done",close:!0}})).on("select",(function(){var i=e.state().get("selection").first().attributes,s=i.url;if(!_.isUndefined(i.sizes))try{s=i.sizes.thumbnail.url}catch(e){s=i.sizes.full.url}t.find(".current-image").css("background-image","url("+s+")"),t.find(".so-image-selector > input").val(i.id),t.find(".remove-image").removeClass("hidden")})),e.open()})),t.find(".remove-image").on("click",(function(e){e.preventDefault(),t.find(".current-image").css("background-image","none"),t.find(".so-image-selector > input").val(""),t.find(".remove-image").addClass("hidden")}))})),this.$(".style-field-measurement").each((function(){var e=s(this),t=e.find('input[type="text"]'),i=e.find("select"),l=e.find('input[type="hidden"]');t.on("focus",(function(){s(this).trigger("select")}));!function(e){if(""!==e){var o=/(?:([0-9\.,\-]+)(.*))+/,n=l.val().split(" "),a=[];for(var r in n){var d=o.exec(n[r]);_.isNull(d)||_.isUndefined(d[1])||_.isUndefined(d[2])||(a.push(d[1]),i.val(d[2]))}1===t.length?t.val(a.join(" ")):(1===a.length?a=[a[0],a[0],a[0],a[0]]:2===a.length?a=[a[0],a[1],a[0],a[1]]:3===a.length&&(a=[a[0],a[1],a[2],a[1]]),t.each((function(e,t){s(t).val(a[e])})))}}(l.val());var o=function(e){if(1===t.length){var o=t.val().split(" ").filter((function(e){return""!==e})).map((function(e){return e+i.val()})).join(" ");l.val(o)}else{var n=s(e.target),a=[],r=[],d=[];t.each((function(e,t){var i=""!==s(t).val()?parseFloat(s(t).val()):null;a.push(i),null===i?r.push(e):d.push(e)})),3===r.length&&d[0]===t.index(n)&&(t.val(n.val()),a=[n.val(),n.val(),n.val(),n.val()]),JSON.stringify(a)===JSON.stringify([null,null,null,null])?l.val(""):l.val(a.map((function(e){return(null===e?0:e)+i.val()})).join(" "))}};t.on("change",o),i.on("change",o)}))}})},{}],30:[function(e,t,i){var s=window.panels,l=jQuery;t.exports=Backbone.View.extend({template:_.template(s.helpers.utils.processTemplate(l("#siteorigin-panels-builder-widget").html())),cell:null,dialog:null,events:{"click .widget-edit":"editHandler","touchend .widget-edit":"editHandler","click .title h4":"editHandler","touchend .title h4":"editHandler","click .actions .widget-duplicate":"duplicateHandler","click .actions .widget-delete":"deleteHandler"},initialize:function(){this.listenTo(this.model,"destroy",this.onModelDestroy),this.listenTo(this.model,"change:values",this.onModelChange),this.listenTo(this.model,"change:label",this.onLabelChange)},render:function(e){if(e=_.extend({loadForm:!1},e),this.setElement(this.template({title:this.model.getWidgetField("title"),description:this.model.getTitle(),widget_class:this.model.attributes.class})),this.$el.data("view",this),this.cell.row.builder.supports("editWidget")&&!this.model.get("read_only")||(this.$(".actions .widget-edit").remove(),this.$el.addClass("so-widget-no-edit")),this.cell.row.builder.supports("addWidget")||(this.$(".actions .widget-duplicate").remove(),this.$el.addClass("so-widget-no-duplicate")),this.cell.row.builder.supports("deleteWidget")||(this.$(".actions .widget-delete").remove(),this.$el.addClass("so-widget-no-delete")),this.cell.row.builder.supports("moveWidget")||this.$el.addClass("so-widget-no-move"),this.$(".actions").html().trim().length||this.$(".actions").remove(),this.model.get("read_only")&&this.$el.addClass("so-widget-read-only"),0===_.size(this.model.get("values"))||e.loadForm){var t=this.getEditDialog();t.once("form_loaded",t.saveWidget,t),t.setupDialog()}return this.listenTo(this.cell.row.builder,"after_user_adds_widget",this.afterUserAddsWidgetHandler),this},visualCreate:function(){this.$el.hide().fadeIn("fast")},getEditDialog:function(){return null===this.dialog&&(this.dialog=new s.dialog.widget({model:this.model}),this.dialog.setBuilder(this.cell.row.builder),this.dialog.widgetView=this),this.dialog},editHandler:function(){return!this.cell.row.builder.supports("editWidget")||this.model.get("read_only")?this:(this.getEditDialog().openDialog(),this)},duplicateHandler:function(){this.cell.row.builder.addHistoryEntry("widget_duplicated");var e=this.model.clone(this.model.cell);return this.cell.model.get("widgets").add(e,{at:this.model.collection.indexOf(this.model)+1}),this.cell.row.builder.model.refreshPanelsData(),this},copyHandler:function(){s.helpers.clipboard.setModel(this.model)},deleteHandler:function(){return this.visualDestroyModel(),this},onModelChange:function(){this.$(".description").html(this.model.getTitle())},onLabelChange:function(e){this.$(".title > h4").text(e.getWidgetField("title"))},onModelDestroy:function(){this.remove()},visualDestroyModel:function(){return this.cell.row.builder.addHistoryEntry("widget_deleted"),this.$el.fadeOut("fast",function(){this.cell.row.resizeRow(),this.model.destroy(),this.cell.row.builder.model.refreshPanelsData(),this.remove()}.bind(this)),this},buildContextualMenu:function(e,t){this.cell.row.builder.supports("addWidget")&&t.addSection("add-widget-below",{sectionTitle:panelsOptions.loc.contextual.add_widget_below,searchPlaceholder:panelsOptions.loc.contextual.search_widgets,defaultDisplay:panelsOptions.contextual.default_widgets},panelsOptions.widgets,function(e){this.cell.row.builder.trigger("before_user_adds_widget"),this.cell.row.builder.addHistoryEntry("widget_added");var t=new s.model.widget({class:e});t.cell=this.cell.model,this.cell.model.get("widgets").add(t,{at:this.model.collection.indexOf(this.model)+1}),this.cell.row.builder.model.refreshPanelsData(),this.cell.row.builder.trigger("after_user_adds_widget",t)}.bind(this));var i={};this.cell.row.builder.supports("editWidget")&&!this.model.get("read_only")&&(i.edit={title:panelsOptions.loc.contextual.widget_edit}),s.helpers.clipboard.canCopyPaste()&&(i.copy={title:panelsOptions.loc.contextual.widget_copy}),this.cell.row.builder.supports("addWidget")&&(i.duplicate={title:panelsOptions.loc.contextual.widget_duplicate}),this.cell.row.builder.supports("deleteWidget")&&(i.delete={title:panelsOptions.loc.contextual.widget_delete,confirm:!0}),_.isEmpty(i)||t.addSection("widget-actions",{sectionTitle:panelsOptions.loc.contextual.widget_actions,search:!1},i,function(e){switch(e){case"edit":this.editHandler();break;case"copy":this.copyHandler();break;case"duplicate":this.duplicateHandler();break;case"delete":this.visualDestroyModel()}}.bind(this)),this.cell.buildContextualMenu(e,t)},afterUserAddsWidgetHandler:function(e){this.model===e&&panelsOptions.instant_open&&setTimeout(this.editHandler.bind(this),350)}})},{}],31:[function(e,t,i){var s=jQuery,l={addWidget:function(e,t,i){var l=wp.customHtmlWidgets,o=s("<div></div>"),n=t.find(".widget-content:first");n.before(o);var a=new l.CustomHtmlWidgetControl({el:o,syncContainer:n});return a.initializeEditor(),a.editor.codemirror.refresh(),a}};t.exports=l},{}],32:[function(e,t,i){var s=e("./custom-html-widget"),l=e("./media-widget"),o=e("./text-widget"),n={CUSTOM_HTML:"custom_html",MEDIA_AUDIO:"media_audio",MEDIA_GALLERY:"media_gallery",MEDIA_IMAGE:"media_image",MEDIA_VIDEO:"media_video",TEXT:"text",addWidget:function(e,t){var i,n=e.find("> .id_base").val();switch(n){case this.CUSTOM_HTML:i=s;break;case this.MEDIA_AUDIO:case this.MEDIA_GALLERY:case this.MEDIA_IMAGE:case this.MEDIA_VIDEO:i=l;break;case this.TEXT:i=o}i.addWidget(n,e,t)}};t.exports=n},{"./custom-html-widget":31,"./media-widget":33,"./text-widget":34}],33:[function(e,t,i){var s=jQuery,l={addWidget:function(e,t,i){var l=wp.mediaWidgets,o=l.controlConstructors[e];if(o){var n=l.modelConstructors[e]||l.MediaWidgetModel,a=t.find("> .widget-content"),r=s('<div class="media-widget-control"></div>');a.before(r);var d={};a.find(".media-widget-instance-property").each((function(){var e=s(this);d[e.data("property")]=e.val()})),d.widget_id=i;var h=new o({el:r,syncContainer:a,model:new n(d)});return h.render(),h}}};t.exports=l},{}],34:[function(e,t,i){var s=jQuery,l={addWidget:function(e,t,i){var l=wp.textWidgets,o={},n=t.find(".visual");if(n.length>0){if(!n.val())return null;var a=s("<div></div>"),r=t.find(".widget-content:first");r.before(a),o={el:a,syncContainer:r}}else o={el:t};var d=new l.TextWidgetControl(o),h=wp.oldEditor?wp.oldEditor:wp.editor;return h&&h.hasOwnProperty("autop")&&(wp.editor.autop=h.autop,wp.editor.removep=h.removep,wp.editor.initialize=h.initialize),d.initializeEditor(),d}};t.exports=l},{}]},{},[17]);
1
+ !function e(t,i,s){function l(n,r){if(!i[n]){if(!t[n]){var a="function"==typeof require&&require;if(!r&&a)return a(n,!0);if(o)return o(n,!0);var d=new Error("Cannot find module '"+n+"'");throw d.code="MODULE_NOT_FOUND",d}var c=i[n]={exports:{}};t[n][0].call(c.exports,(function(e){return l(t[n][1][e]||e)}),c,c.exports,e,t,i,s)}return i[n].exports}for(var o="function"==typeof require&&require,n=0;n<s.length;n++)l(s[n]);return l}({1:[function(e,t,i){var s=window.panels;t.exports=Backbone.Collection.extend({model:s.model.cell,initialize:function(){},totalWeight:function(){var e=0;return this.each((function(t){e+=t.get("weight")})),e}})},{}],2:[function(e,t,i){var s=window.panels;t.exports=Backbone.Collection.extend({model:s.model.historyEntry,builder:null,maxSize:12,initialize:function(){this.on("add",this.onAddEntry,this)},addEntry:function(e,t){_.isEmpty(t)&&(t=this.builder.getPanelsData());var i=new s.model.historyEntry({text:e,data:JSON.stringify(t),time:parseInt((new Date).getTime()/1e3),collection:this});this.add(i)},onAddEntry:function(e){if(this.models.length>1){var t=this.at(this.models.length-2);(e.get("text")===t.get("text")&&e.get("time")-t.get("time")<15||e.get("data")===t.get("data"))&&(this.remove(e),t.set("count",t.get("count")+1))}for(;this.models.length>this.maxSize;)this.shift()}})},{}],3:[function(e,t,i){var s=window.panels;t.exports=Backbone.Collection.extend({model:s.model.row,empty:function(){for(var e;;){if(!(e=this.collection.first()))break;e.destroy()}}})},{}],4:[function(e,t,i){var s=window.panels;t.exports=Backbone.Collection.extend({model:s.model.widget,initialize:function(){}})},{}],5:[function(e,t,i){var s=window.panels,l=jQuery;t.exports=s.view.dialog.extend({dialogClass:"so-panels-dialog-add-builder",render:function(){this.renderDialog(this.parseDialogContent(l("#siteorigin-panels-dialog-builder").html(),{})),this.$(".so-content .siteorigin-panels-builder").append(this.builder.$el)},initializeDialog:function(){var e=this;this.once("open_dialog_complete",(function(){e.builder.initSortable()})),this.on("open_dialog_complete",(function(){e.builder.trigger("builder_resize")}))}})},{}],6:[function(e,t,i){var s=window.panels,l=jQuery;t.exports=s.view.dialog.extend({historyEntryTemplate:_.template(s.helpers.utils.processTemplate(l("#siteorigin-panels-dialog-history-entry").html())),entries:{},currentEntry:null,revertEntry:null,selectedEntry:null,previewScrollTop:null,dialogClass:"so-panels-dialog-history",dialogIcon:"history",events:{"click .so-close":"closeDialog","keyup .so-close":function(e){s.helpers.accessibility.triggerClickOnEnter(e)},"click .so-restore":"restoreSelectedEntry","keyup .history-entry":function(e){s.helpers.accessibility.triggerClickOnEnter(e)}},initializeDialog:function(){this.entries=new s.collection.historyEntries,this.on("open_dialog",this.setCurrentEntry,this),this.on("open_dialog",this.renderHistoryEntries,this),this.on("open_dialog_complete",(function(){this.$(".history-entry").trigger("focus")}))},render:function(){var e=this;this.renderDialog(this.parseDialogContent(l("#siteorigin-panels-dialog-history").html(),{})),this.$("iframe.siteorigin-panels-history-iframe").on("load",(function(){var t=l(this);t.show(),t.contents().scrollTop(e.previewScrollTop)}))},setRevertEntry:function(e){this.revertEntry=new s.model.historyEntry({data:JSON.stringify(e.getPanelsData()),time:parseInt((new Date).getTime()/1e3)})},setCurrentEntry:function(){this.currentEntry=new s.model.historyEntry({data:JSON.stringify(this.builder.model.getPanelsData()),time:parseInt((new Date).getTime()/1e3)}),this.selectedEntry=this.currentEntry,this.previewEntry(this.currentEntry),this.$(".so-buttons .so-restore").addClass("disabled")},renderHistoryEntries:function(){var e=this,t=this.$(".history-entries").empty();this.currentEntry.get("data")===this.revertEntry.get("data")&&_.isEmpty(this.entries.models)||l(this.historyEntryTemplate({title:panelsOptions.loc.history.revert,count:1})).data("historyEntry",this.revertEntry).prependTo(t),this.entries.each((function(i){var s=e.historyEntryTemplate({title:panelsOptions.loc.history[i.get("text")],count:i.get("count")});l(s).data("historyEntry",i).prependTo(t)})),l(this.historyEntryTemplate({title:panelsOptions.loc.history.current,count:1})).data("historyEntry",this.currentEntry).addClass("so-selected").prependTo(t),t.find(".history-entry").on("click",(function(i){if("keyup"!=i.type||13==i.which){var s=jQuery(this);t.find(".history-entry").not(s).removeClass("so-selected"),s.addClass("so-selected");var l=s.data("historyEntry");e.selectedEntry=l,e.selectedEntry.cid!==e.currentEntry.cid?e.$(".so-buttons .so-restore").removeClass("disabled"):e.$(".so-buttons .so-restore").addClass("disabled"),e.previewEntry(l)}})),this.updateEntryTimes()},previewEntry:function(e){var t=this.$("iframe.siteorigin-panels-history-iframe");t.hide(),this.previewScrollTop=t.contents().scrollTop(),this.$('form.history-form input[name="live_editor_panels_data"]').val(e.get("data")),this.$('form.history-form input[name="live_editor_post_ID"]').val(this.builder.config.postId),this.$("form.history-form").trigger("submit")},restoreSelectedEntry:function(){return!this.$(".so-buttons .so-restore").hasClass("disabled")&&(this.currentEntry.get("data")===this.selectedEntry.get("data")?(this.closeDialog(),!1):("restore"!==this.selectedEntry.get("text")&&this.builder.addHistoryEntry("restore",this.builder.model.getPanelsData()),this.builder.model.loadPanelsData(JSON.parse(this.selectedEntry.get("data"))),this.closeDialog(),!1))},updateEntryTimes:function(){var e=this;this.$(".history-entries .history-entry").each((function(){var t=jQuery(this),i=t.find(".timesince"),s=t.data("historyEntry");i.html(e.timeSince(s.get("time")))}))},timeSince:function(e){var t,i=parseInt((new Date).getTime()/1e3)-e,s=[];return i>3600&&(1===(t=Math.floor(i/3600))?s.push(panelsOptions.loc.time.hour.replace("%d",t)):s.push(panelsOptions.loc.time.hours.replace("%d",t)),i-=3600*t),i>60&&(1===(t=Math.floor(i/60))?s.push(panelsOptions.loc.time.minute.replace("%d",t)):s.push(panelsOptions.loc.time.minutes.replace("%d",t)),i-=60*t),i>0&&(1===i?s.push(panelsOptions.loc.time.second.replace("%d",i)):s.push(panelsOptions.loc.time.seconds.replace("%d",i))),_.isEmpty(s)?panelsOptions.loc.time.now:panelsOptions.loc.time.ago.replace("%s",s.slice(0,2).join(", "))}})},{}],7:[function(e,t,i){var s=window.panels,l=jQuery;t.exports=s.view.dialog.extend({directoryTemplate:_.template(s.helpers.utils.processTemplate(l("#siteorigin-panels-directory-items").html())),builder:null,dialogClass:"so-panels-dialog-prebuilt-layouts",dialogIcon:"layouts",layoutCache:{},currentTab:!1,directoryPage:1,events:{"click .so-close":"closeDialog","click .so-sidebar-tabs li a":"tabClickHandler","click .so-content .layout":"layoutClickHandler","keyup .so-sidebar-search":"searchHandler","click .so-screenshot, .so-title":"directoryItemClickHandler","keyup .so-directory-item":"clickTitleOnEnter"},clickTitleOnEnter:function(e){13==e.which&&l(e.target).find(".so-title").trigger("click")},initializeDialog:function(){var e=this;this.on("open_dialog",(function(){e.$(".so-sidebar-tabs li a").first().trigger("click"),e.$(".so-status").removeClass("so-panels-loading")})),this.on("open_dialog_complete",(function(){this.$(".so-sidebar-search").val("").trigger("focus")}))},render:function(){this.renderDialog(this.parseDialogContent(l("#siteorigin-panels-dialog-prebuilt").html(),{})),this.on("button_click",this.toolbarButtonClick,this),this.initToolbar()},tabClickHandler:function(e){e.preventDefault(),this.selectedLayoutItem=null,this.uploadedLayout=null,this.updateButtonState(!1),this.$(".so-sidebar-tabs li").removeClass("tab-active");var t=l(e.target),i=t.attr("href").split("#")[1];t.parent().addClass("tab-active");this.$(".so-content").empty(),this.currentTab=i,"import"==i?this.displayImportExport():this.displayLayoutDirectory("",1,i),this.$(".so-sidebar-search").val("")},displayImportExport:function(){var e=this.$(".so-content").empty().removeClass("so-panels-loading");e.html(l("#siteorigin-panels-dialog-prebuilt-importexport").html());var t=this,i=t.$(".import-upload-ui"),s=new plupload.Uploader({runtimes:"html5,silverlight,flash,html4",browse_button:i.find(".file-browse-button").get(0),container:i.get(0),drop_element:i.find(".drag-upload-area").get(0),file_data_name:"panels_import_data",multiple_queues:!1,max_file_size:panelsOptions.plupload.max_file_size,url:panelsOptions.plupload.url,flash_swf_url:panelsOptions.plupload.flash_swf_url,silverlight_xap_url:panelsOptions.plupload.silverlight_xap_url,filters:[{title:panelsOptions.plupload.filter_title,extensions:"json"}],multipart_params:{action:"so_panels_import_layout"},init:{PostInit:function(e){e.features.dragdrop&&i.addClass("has-drag-drop"),i.find(".progress-precent").css("width","0%")},FilesAdded:function(e){i.find(".file-browse-button").trigger("blur"),i.find(".drag-upload-area").removeClass("file-dragover"),i.find(".progress-bar").fadeIn("fast"),t.$(".js-so-selected-file").text(panelsOptions.loc.prebuilt_loading),e.start()},UploadProgress:function(e,t){i.find(".progress-precent").css("width",t.percent+"%")},FileUploaded:function(e,s,l){var o=JSON.parse(l.response);_.isUndefined(o.widgets)?alert(panelsOptions.plupload.error_message):(t.uploadedLayout=o,i.find(".progress-bar").hide(),t.$(".js-so-selected-file").text(panelsOptions.loc.ready_to_insert.replace("%s",s.name)),t.updateButtonState(!0))},Error:function(){alert(panelsOptions.plupload.error_message)}}});s.init(),/Edge\/\d./i.test(navigator.userAgent)&&setTimeout((function(){s.refresh()}),250),i.find(".drag-upload-area").on("dragover",(function(){l(this).addClass("file-dragover")})).on("dragleave",(function(){l(this).removeClass("file-dragover")})),e.find(".so-export").on("submit",(function(e){var i=l(this),s=t.builder.model.getPanelsData(),o=l('input[name="post_title"], .editor-post-title__input').val();if(o){if(l(".block-editor-page").length){var n=t.getCurrentBlockPosition();n>=0&&(o+="-"+n)}}else o=l('input[name="post_ID"]').val();s.name=o,i.find('input[name="panels_export_data"]').val(JSON.stringify(s))}))},getCurrentBlockPosition:function(){var e=wp.data.select("core/block-editor").getSelectedBlockClientId();return wp.data.select("core/block-editor").getBlocks().findIndex((function(t){return t.clientId===e}))},displayLayoutDirectory:function(e,t,i){var s=this,o=this.$(".so-content").empty().addClass("so-panels-loading");if(void 0===e&&(e=""),void 0===t&&(t=1),void 0===i&&(i="directory-siteorigin"),i.match("^directory-")&&!panelsOptions.directory_enabled)return o.removeClass("so-panels-loading").html(l("#siteorigin-panels-directory-enable").html()),void o.find(".so-panels-enable-directory").on("click",(function(n){n.preventDefault(),l.get(panelsOptions.ajaxurl,{action:"so_panels_directory_enable"},(function(){})),panelsOptions.directory_enabled=!0,o.addClass("so-panels-loading"),s.displayLayoutDirectory(e,t,i)}));l.get(panelsOptions.ajaxurl,{action:"so_panels_layouts_query",search:e,page:t,type:i,builderType:this.builder.config.builderType},(function(n){if(s.currentTab===i){o.removeClass("so-panels-loading").html(s.directoryTemplate(n));var r=o.find(".so-previous"),a=o.find(".so-next");t<=1?r.addClass("button-disabled"):r.on("click",(function(i){i.preventDefault(),s.displayLayoutDirectory(e,t-1,s.currentTab)})),t===n.max_num_pages||0===n.max_num_pages?a.addClass("button-disabled"):a.on("click",(function(i){i.preventDefault(),s.displayLayoutDirectory(e,t+1,s.currentTab)})),o.find(".so-screenshot").each((function(){var e=l(this),t=e.find(".so-screenshot-wrapper");if(t.css("height",t.width()/4*3+"px").addClass("so-loading"),""!==e.data("src"))var i=l("<img/>").attr("src",e.data("src")).on("load",(function(){t.removeClass("so-loading").css("height","auto"),i.appendTo(t).hide().fadeIn("fast")}));else l("<img/>").attr("src",panelsOptions.prebuiltDefaultScreenshot).appendTo(t).hide().fadeIn("fast")})),o.find(".so-directory-browse").html(n.title)}}),"json")},directoryItemClickHandler:function(e){var t=this.$(e.target).closest(".so-directory-item");this.$(".so-directory-items").find(".selected").removeClass("selected"),t.addClass("selected"),this.selectedLayoutItem={lid:t.data("layout-id"),type:t.data("layout-type")},this.updateButtonState(!0)},toolbarButtonClick:function(e){if(!this.canAddLayout())return!1;var t=e.data("value");if(_.isUndefined(t))return!1;if(this.updateButtonState(!1),e.hasClass("so-needs-confirm")&&!e.hasClass("so-confirmed")){if(this.updateButtonState(!0),e.hasClass("so-confirming"))return;e.addClass("so-confirming");var i=e.html();return e.html('<span class="dashicons dashicons-yes"></span>'+e.data("confirm")),setTimeout((function(){e.removeClass("so-confirmed").html(i)}),2500),setTimeout((function(){e.removeClass("so-confirming"),e.addClass("so-confirmed")}),200),!1}this.addingLayout=!0,"import"===this.currentTab?this.addLayoutToBuilder(this.uploadedLayout,t):this.loadSelectedLayout().then(function(e){this.addLayoutToBuilder(e,t)}.bind(this))},canAddLayout:function(){return(this.selectedLayoutItem||this.uploadedLayout)&&!this.addingLayout},loadSelectedLayout:function(){this.setStatusMessage(panelsOptions.loc.prebuilt_loading,!0);var e=_.extend(this.selectedLayoutItem,{action:"so_panels_get_layout",builderType:this.builder.config.builderType}),t=new l.Deferred;return l.get(panelsOptions.ajaxurl,e,function(e){var i="";e.success?t.resolve(e.data):(i=e.data.message,t.reject(e.data)),this.setStatusMessage(i,!1,!e.success),this.updateButtonState(!0)}.bind(this)),t.promise()},searchHandler:function(e){13===e.keyCode&&this.displayLayoutDirectory(l(e.currentTarget).val(),1,this.currentTab)},updateButtonState:function(e){e=e&&(this.selectedLayoutItem||this.uploadedLayout);var t=this.$(".so-import-layout");t.prop("disabled",!e),e?t.removeClass("disabled"):t.addClass("disabled")},addLayoutToBuilder:function(e,t){this.builder.addHistoryEntry("prebuilt_loaded"),this.builder.model.loadPanelsData(e,t),this.addingLayout=!1,this.closeDialog()}})},{}],8:[function(e,t,i){var s=window.panels,l=jQuery;t.exports=s.view.dialog.extend({cellPreviewTemplate:_.template(s.helpers.utils.processTemplate(l("#siteorigin-panels-dialog-row-cell-preview").html())),editableLabel:!0,events:{"click .so-close":"closeDialog","keyup .so-close":function(e){s.helpers.accessibility.triggerClickOnEnter(e)},"click .so-toolbar .so-save":"saveHandler","click .so-toolbar .so-insert":"insertHandler","click .so-toolbar .so-delete":"deleteHandler","keyup .so-toolbar .so-delete":function(e){s.helpers.accessibility.triggerClickOnEnter(e)},"click .so-toolbar .so-duplicate":"duplicateHandler","keyup .so-toolbar .so-duplicate":function(e){s.helpers.accessibility.triggerClickOnEnter(e)},"change .row-set-form > *":"setCellsFromForm","click .row-set-form button.set-row":"setCellsFromForm"},rowView:null,dialogIcon:"add-row",dialogClass:"so-panels-dialog-row-edit",styleType:"row",dialogType:"edit",row:{cells:null,style:{}},cellStylesCache:[],initializeDialog:function(){this.on("open_dialog",(function(){_.isUndefined(this.model)||_.isEmpty(this.model.get("cells"))?this.setRowModel(null):this.setRowModel(this.model),this.regenerateRowPreview(),this.renderStyles(),this.openSelectedCellStyles()}),this),this.on("open_dialog_complete",(function(){l(".so-panels-dialog-wrapper .so-title").trigger("focus")})),this.row={cells:new s.collection.cells([{weight:.5},{weight:.5}]),style:{}},this.dialogFormsLoaded=0;var e=this;this.on("form_loaded styles_loaded",(function(){this.dialogFormsLoaded++,2===this.dialogFormsLoaded&&e.updateModel({refreshArgs:{silent:!0}})})),this.on("close_dialog",this.closeHandler),this.on("edit_label",function(e){if(e!==panelsOptions.loc.row.add&&e!==panelsOptions.loc.row.edit||(e=""),this.model.set("label",e),_.isEmpty(e)){var t="create"===this.dialogType?panelsOptions.loc.row.add:panelsOptions.loc.row.edit;this.$(".so-title").text(t)}}.bind(this))},setRowDialogType:function(e){this.dialogType=e},render:function(){var e="create"===this.dialogType?panelsOptions.loc.row.add:panelsOptions.loc.row.edit;this.renderDialog(this.parseDialogContent(l("#siteorigin-panels-dialog-row").html(),{title:e,dialogType:this.dialogType}));var t=this.$(".so-title");return this.model.has("label")&&!_.isEmpty(this.model.get("label"))&&t.text(this.model.get("label")),this.$(".so-edit-title").val(t.text()),this.builder.supports("addRow")||this.$(".so-buttons .so-duplicate").remove(),this.builder.supports("deleteRow")||this.$(".so-buttons .so-delete").remove(),_.isUndefined(this.model)||(this.$('input[name="cells"].so-row-field').val(this.model.get("cells").length),this.model.has("ratio")&&this.$('select[name="ratio"].so-row-field').val(this.model.get("ratio")),this.model.has("ratio_direction")&&this.$('select[name="ratio_direction"].so-row-field').val(this.model.get("ratio_direction"))),this.$("input.so-row-field").on("keyup",(function(){l(this).trigger("change")})),this},renderStyles:function(){this.styles&&(this.styles.off("styles_loaded"),this.styles.remove()),this.styles=new s.view.styles,this.styles.model=this.model,this.styles.render("row",this.builder.config.postId,{builderType:this.builder.config.builderType,dialog:this});var e=this.$(".so-sidebar.so-right-sidebar");this.styles.attach(e),this.styles.on("styles_loaded",(function(t){t||(this.styles.remove(),0===e.children().length&&(e.closest(".so-panels-dialog").removeClass("so-panels-dialog-has-right-sidebar"),e.hide()))}),this)},setRowModel:function(e){return this.model=e,_.isEmpty(this.model)?this:(this.row={cells:this.model.get("cells").clone(),style:{},ratio:this.model.get("ratio"),ratio_direction:this.model.get("ratio_direction")},this.$('input[name="cells"].so-row-field').val(this.model.get("cells").length),this.model.has("ratio")&&this.$('select[name="ratio"].so-row-field').val(this.model.get("ratio")),this.model.has("ratio_direction")&&this.$('select[name="ratio_direction"].so-row-field').val(this.model.get("ratio_direction")),this.clearCellStylesCache(),this)},regenerateRowPreview:function(){var e,t=this,i=this.$(".row-preview"),s=this.getSelectedCellIndex();i.empty(),this.row.cells.each((function(o,n){var r=l(this.cellPreviewTemplate({weight:o.get("weight")}));i.append(r),n==s&&r.find(".preview-cell-in").addClass("cell-selected");var a,d=r.prev();d.length&&((a=l('<div class="resize-handle"></div>')).appendTo(r).on("dblclick",(function(){var e=t.row.cells.at(n-1),i=o.get("weight")+e.get("weight");o.set("weight",i/2),e.set("weight",i/2),t.scaleRowWidths()})),a.draggable({axis:"x",containment:i,start:function(e,t){var i=r.clone().appendTo(t.helper).css({position:"absolute",top:"0",width:r.outerWidth(),left:6,height:r.outerHeight()});i.find(".resize-handle").remove();var s=d.clone().appendTo(t.helper).css({position:"absolute",top:"0",width:d.outerWidth(),right:6,height:d.outerHeight()});s.find(".resize-handle").remove(),l(this).data({newCellClone:i,prevCellClone:s}),r.find("> .preview-cell-in").css("visibility","hidden"),d.find("> .preview-cell-in").css("visibility","hidden")},drag:function(e,s){var o=t.row.cells.at(n).get("weight"),r=t.row.cells.at(n-1).get("weight"),a=o-(s.position.left+6)/i.width(),d=r+(s.position.left+6)/i.width();s.helper.offset().left,i.offset().left;l(this).data("newCellClone").css("width",i.width()*a+"px").find(".preview-cell-weight").html(Math.round(1e3*a)/10),l(this).data("prevCellClone").css("width",i.width()*d+"px").find(".preview-cell-weight").html(Math.round(1e3*d)/10)},stop:function(e,s){l(this).data("newCellClone").remove(),l(this).data("prevCellClone").remove(),r.find(".preview-cell-in").css("visibility","visible"),d.find(".preview-cell-in").css("visibility","visible");var o=(s.position.left+6)/i.width(),a=t.row.cells.at(n),c=t.row.cells.at(n-1);a.get("weight")-o>.02&&c.get("weight")+o>.02&&(a.set("weight",a.get("weight")-o),c.set("weight",c.get("weight")+o)),t.scaleRowWidths(),s.helper.css("left",-6)}})),r.on("click",function(e){if(l(e.target).is(".preview-cell")||l(e.target).is(".preview-cell-in")){var t=l(e.target);t.closest(".row-preview").find(".preview-cell .preview-cell-in").removeClass("cell-selected"),t.addClass("cell-selected"),this.openSelectedCellStyles()}}.bind(this)),r.find(".preview-cell-weight").on("click",(function(s){t.$(".resize-handle").css("pointer-event","none").draggable("disable"),i.find(".preview-cell-weight").each((function(){var s=jQuery(this).hide();l('<input type="text" class="preview-cell-weight-input no-user-interacted" />').val(parseFloat(s.html())).insertAfter(s).on("focus",(function(){clearTimeout(e)})).on("keyup",(function(e){9!==e.keyCode&&l(this).removeClass("no-user-interacted"),13===e.keyCode&&(e.preventDefault(),l(this).trigger("blur"))})).on("keydown",(function(e){if(9===e.keyCode){e.preventDefault();var t=i.find(".preview-cell-weight-input"),s=t.index(l(this));s===t.length-1?t.eq(0).trigger("focus").trigger("select"):t.eq(s+1).trigger("focus").trigger("select")}})).on("blur",(function(){i.find(".preview-cell-weight-input").each((function(e,i){isNaN(parseFloat(l(i).val()))&&l(i).val(Math.floor(1e3*t.row.cells.at(e).get("weight"))/10)})),e=setTimeout((function(){if(0===i.find(".preview-cell-weight-input").length)return!1;var e=[],s=[],o=0,n=0;if(i.find(".preview-cell-weight-input").each((function(i,r){var a=parseFloat(l(r).val());a=isNaN(a)?1/t.row.cells.length:Math.round(10*a)/1e3;var d=!l(r).hasClass("no-user-interacted");e.push(a),s.push(d),d?o+=a:n+=a})),o>0&&n>0&&1-o>0)for(var r=0;r<e.length;r++)s[r]||(e[r]=e[r]/n*(1-o));var a=_.reduce(e,(function(e,t){return e+t}));e=e.map((function(e){return e/a})),Math.min.apply(Math,e)>.01&&t.row.cells.each((function(t,i){t.set("weight",e[i])})),i.find(".preview-cell").each((function(e,i){var s=t.row.cells.at(e).get("weight");l(i).animate({width:Math.round(1e3*s)/10+"%"},250),l(i).find(".preview-cell-weight-input").val(Math.round(1e3*s)/10)})),i.find(".preview-cell").css("overflow","visible"),setTimeout(t.regenerateRowPreview.bind(t),260)}),100)})).on("click",(function(){l(this).trigger("select")}))})),l(this).siblings(".preview-cell-weight-input").trigger("select")}))}),this),this.trigger("form_loaded",this)},getSelectedCellIndex:function(){var e=-1;return this.$(".preview-cell .preview-cell-in").each((function(t,i){l(i).is(".cell-selected")&&(e=t)})),e},openSelectedCellStyles:function(){if(!_.isUndefined(this.cellStyles)){if(this.cellStyles.stylesLoaded){var e={};try{e=this.getFormValues(".so-sidebar .so-visual-styles.so-cell-styles").style}catch(e){console.log("Error retrieving cell styles - "+e.message)}this.cellStyles.model.set("style",e)}this.cellStyles.detach()}if(this.cellStyles=this.getSelectedCellStyles(),this.cellStyles){var t=this.$(".so-sidebar.so-right-sidebar");this.cellStyles.attach(t),this.cellStyles.on("styles_loaded",(function(e){e&&(t.closest(".so-panels-dialog").addClass("so-panels-dialog-has-right-sidebar"),t.show())}))}},getSelectedCellStyles:function(){var e=this.getSelectedCellIndex();if(e>-1){var t=this.cellStylesCache[e];t||((t=new s.view.styles).model=this.row.cells.at(e),t.render("cell",this.builder.config.postId,{builderType:this.builder.config.builderType,dialog:this,index:e}),this.cellStylesCache[e]=t)}return t},clearCellStylesCache:function(){this.cellStylesCache.forEach((function(e){e.remove(),e.off("styles_loaded")})),this.cellStylesCache=[]},scaleRowWidths:function(){var e=this;this.$(".row-preview .preview-cell").each((function(t,i){var s=e.row.cells.at(t);l(i).css("width",100*s.get("weight")+"%").find(".preview-cell-weight").html(Math.round(1e3*s.get("weight"))/10)}))},setCellsFromForm:function(){try{var e={cells:parseInt(this.$('.row-set-form input[name="cells"]').val()),ratio:parseFloat(this.$('.row-set-form select[name="ratio"]').val()),direction:this.$('.row-set-form select[name="ratio_direction"]').val()};_.isNaN(e.cells)&&(e.cells=1),isNaN(e.ratio)&&(e.ratio=1),e.cells<1?(e.cells=1,this.$('.row-set-form input[name="cells"]').val(e.cells)):e.cells>12&&(e.cells=12,this.$('.row-set-form input[name="cells"]').val(e.cells)),this.$('.row-set-form select[name="ratio"]').val(e.ratio);for(var t=[],i=this.row.cells.length!==e.cells,o=1,n=0;n<e.cells;n++)t.push(o),o*=e.ratio;var r=_.reduce(t,(function(e,t){return e+t}));if(t=_.map(t,(function(e){return e/r})),t=_.filter(t,(function(e){return e>.01})),"left"===e.direction&&(t=t.reverse()),this.row.cells=new s.collection.cells(this.row.cells.first(t.length)),_.each(t,function(e,t){var i=this.row.cells.at(t);i?i.set("weight",e):(i=new s.model.cell({weight:e,row:this.model}),this.row.cells.add(i))}.bind(this)),this.row.ratio=e.ratio,this.row.ratio_direction=e.direction,i)this.regenerateRowPreview();else{var a=this;this.$(".preview-cell").each((function(e,t){var i=a.row.cells.at(e).get("weight");l(t).animate({width:Math.round(1e3*i)/10+"%"},250),l(t).find(".preview-cell-weight").html(Math.round(1e3*i)/10)})),this.$(".preview-cell").css("overflow","visible"),setTimeout(a.regenerateRowPreview.bind(a),260)}}catch(e){console.log("Error setting cells - "+e.message)}this.$(".row-set-form .so-button-row-set").removeClass("button-primary")},tabClickHandler:function(e){"#row-layout"===e.attr("href")?this.$(".so-panels-dialog").addClass("so-panels-dialog-has-right-sidebar"):this.$(".so-panels-dialog").removeClass("so-panels-dialog-has-right-sidebar")},updateModel:function(e){if(e=_.extend({refresh:!0,refreshArgs:null},e),_.isEmpty(this.model)||(this.model.setCells(this.row.cells),this.model.set("ratio",this.row.ratio),this.model.set("ratio_direction",this.row.ratio_direction)),!_.isUndefined(this.styles)&&this.styles.stylesLoaded){var t={};try{t=this.getFormValues(".so-sidebar .so-visual-styles.so-row-styles").style}catch(e){console.log("Error retrieving row styles - "+e.message)}this.model.set("style",t)}if(!_.isUndefined(this.cellStyles)&&this.cellStyles.stylesLoaded){t={};try{t=this.getFormValues(".so-sidebar .so-visual-styles.so-cell-styles").style}catch(e){console.log("Error retrieving cell styles - "+e.message)}this.cellStyles.model.set("style",t)}e.refresh&&this.builder.model.refreshPanelsData(e.refreshArgs)},insertHandler:function(){this.builder.addHistoryEntry("row_added"),this.updateModel();var e=this.builder.getActiveCell({createCell:!1}),t={};return null!==e&&(t.at=this.builder.model.get("rows").indexOf(e.row)+1),this.model.collection=this.builder.model.get("rows"),this.builder.model.get("rows").add(this.model,t),this.closeDialog(),this.builder.model.refreshPanelsData(),!1},saveHandler:function(){return this.builder.addHistoryEntry("row_edited"),this.updateModel(),this.closeDialog(),this.builder.model.refreshPanelsData(),!1},deleteHandler:function(){return this.rowView.visualDestroyModel(),this.closeDialog({silent:!0}),!1},duplicateHandler:function(){this.builder.addHistoryEntry("row_duplicated");var e=this.model.clone(this.builder.model);return this.builder.model.get("rows").add(e,{at:this.builder.model.get("rows").indexOf(this.model)+1}),this.closeDialog({silent:!0}),!1},closeHandler:function(){this.clearCellStylesCache(),_.isUndefined(this.cellStyles)||(this.cellStyles=void 0)}})},{}],9:[function(e,t,i){var s=window.panels,l=jQuery,o=e("../view/widgets/js-widget");t.exports=s.view.dialog.extend({builder:null,sidebarWidgetTemplate:_.template(s.helpers.utils.processTemplate(l("#siteorigin-panels-dialog-widget-sidebar-widget").html())),dialogClass:"so-panels-dialog-edit-widget",dialogIcon:"add-widget",widgetView:!1,savingWidget:!1,editableLabel:!0,events:{"click .so-close":"saveHandler","keyup .so-close":function(e){s.helpers.accessibility.triggerClickOnEnter(e)},"click .so-nav.so-previous":"navToPrevious","keyup .so-nav.so-previous":function(e){s.helpers.accessibility.triggerClickOnEnter(e)},"click .so-nav.so-next":"navToNext","keyup .so-nav.so-next":function(e){s.helpers.accessibility.triggerClickOnEnter(e)},"click .so-toolbar .so-delete":"deleteHandler","keyup .so-toolbar .so-delete":function(e){s.helpers.accessibility.triggerClickOnEnter(e)},"click .so-toolbar .so-duplicate":"duplicateHandler","keyup .so-toolbar .so-duplicate":function(e){s.helpers.accessibility.triggerClickOnEnter(e)}},initializeDialog:function(){var e=this;this.listenTo(this.model,"change:values",this.handleChangeValues),this.listenTo(this.model,"destroy",this.remove),this.dialogFormsLoaded=0,this.on("form_loaded styles_loaded",(function(){this.dialogFormsLoaded++,2===this.dialogFormsLoaded&&e.updateModel({refreshArgs:{silent:!0}})})),this.on("edit_label",function(e){e===panelsOptions.widgets[this.model.get("class")].title&&(e=""),this.model.set("label",e),_.isEmpty(e)&&this.$(".so-title").text(this.model.getWidgetField("title"))}.bind(this)),this.on("open_dialog_complete",(function(){setTimeout((function(){var e=l(".so-content .siteorigin-widget-field-repeater-item-top, .so-content input, .so-content select").first();e.length?e.trigger("focus"):l(".so-panels-dialog-wrapper .so-title").trigger("focus")}),1250)}))},render:function(){this.renderDialog(this.parseDialogContent(l("#siteorigin-panels-dialog-widget").html(),{})),this.loadForm();var e=this.model.getWidgetField("title");this.$(".so-title .widget-name").html(e),this.$(".so-edit-title").val(e),this.builder.supports("addWidget")||this.$(".so-buttons .so-duplicate").remove(),this.builder.supports("deleteWidget")||this.$(".so-buttons .so-delete").remove(),this.styles=new s.view.styles,this.styles.model=this.model,this.styles.render("widget",this.builder.config.postId,{builderType:this.builder.config.builderType,dialog:this});var t=this.$(".so-sidebar.so-right-sidebar");this.styles.attach(t),this.styles.on("styles_loaded",(function(e){e||(t.closest(".so-panels-dialog").removeClass("so-panels-dialog-has-right-sidebar"),t.remove())}),this)},getPrevDialog:function(){var e=this.builder.$(".so-cells .cell .so-widget");if(e.length<=1)return!1;var t,i=e.index(this.widgetView.$el);if(0===i)return!1;do{if(t=e.eq(--i).data("view"),!_.isUndefined(t)&&!t.model.get("read_only"))return t.getEditDialog()}while(!_.isUndefined(t)&&i>0);return!1},getNextDialog:function(){var e=this.builder.$(".so-cells .cell .so-widget");if(e.length<=1)return!1;var t,i=e.index(this.widgetView.$el);if(i===e.length-1)return!1;do{if(t=e.eq(++i).data("view"),!_.isUndefined(t)&&!t.model.get("read_only"))return t.getEditDialog()}while(!_.isUndefined(t));return!1},loadForm:function(){if(this.$("> *").length){this.$(".so-content").addClass("so-panels-loading");var e={action:"so_panels_widget_form",widget:this.model.get("class"),instance:JSON.stringify(this.model.get("values")),raw:this.model.get("raw")},t=this.$(".so-content");l.post(panelsOptions.ajaxurl,e,null,"html").done(function(e){var i=e.replace(/{\$id}/g,this.model.cid);t.removeClass("so-panels-loading").html(i),this.trigger("form_loaded",this),this.$(".panel-dialog").trigger("panelsopen"),this.on("close_dialog",this.updateModel,this),t.find("> .widget-content").length>0&&o.addWidget(t,this.model.widget_id)}.bind(this)).fail((function(e){var i;i=e&&e.responseText?e.responseText:panelsOptions.forms.loadingFailed,t.removeClass("so-panels-loading").html(i)}))}},updateModel:function(e){if(e=_.extend({refresh:!0,refreshArgs:null},e),this.savingWidget=!0,!this.model.get("missing")){var t=this.getFormValues();t=_.isUndefined(t.widgets)?{}:(t=t.widgets)[Object.keys(t)[0]],this.model.setValues(t),this.model.set("raw",!0)}if(this.styles.stylesLoaded){var i={};try{i=this.getFormValues(".so-sidebar .so-visual-styles").style}catch(e){}this.model.set("style",i)}this.savingWidget=!1,e.refresh&&this.builder.model.refreshPanelsData(e.refreshArgs)},handleChangeValues:function(){this.savingWidget||this.loadForm()},saveHandler:function(){this.builder.addHistoryEntry("widget_edited"),this.closeDialog()},deleteHandler:function(){return this.widgetView.visualDestroyModel(),this.closeDialog({silent:!0}),this.builder.model.refreshPanelsData(),!1},duplicateHandler:function(){return this.widgetView.duplicateHandler(),this.closeDialog({silent:!0}),this.builder.model.refreshPanelsData(),!1}})},{"../view/widgets/js-widget":33}],10:[function(e,t,i){var s=window.panels,l=jQuery;t.exports=s.view.dialog.extend({builder:null,widgetTemplate:_.template(s.helpers.utils.processTemplate(l("#siteorigin-panels-dialog-widgets-widget").html())),filter:{},dialogClass:"so-panels-dialog-add-widget",dialogIcon:"add-widget",events:{"click .so-close":"closeDialog","click .widget-type":"widgetClickHandler","keyup .so-sidebar-search":"searchHandler","keyup .widget-type-wrapper":"searchHandler","keyup .widget-type-wrapper":function(e){s.helpers.accessibility.triggerClickOnEnter(e)}},initializeDialog:function(){this.on("open_dialog",(function(){this.filter.search="",this.filterWidgets(this.filter)}),this),this.on("open_dialog_complete",(function(){this.$(".so-sidebar-search").val("").trigger("focus"),this.balanceWidgetHeights()})),this.on("tab_click",this.tabClickHandler,this)},render:function(){this.renderDialog(this.parseDialogContent(l("#siteorigin-panels-dialog-widgets").html(),{})),_.each(panelsOptions.widgets,(function(e){var t=l(this.widgetTemplate({title:e.title,description:e.description}));_.isUndefined(e.icon)&&(e.icon="dashicons dashicons-admin-generic"),l('<span class="widget-icon"></span>').addClass(e.icon).prependTo(t.find(".widget-type-wrapper")),t.data("class",e.class).appendTo(this.$(".widget-type-list"))}),this);var e=this.$(".so-sidebar-tabs");_.each(panelsOptions.widget_dialog_tabs,(function(t,i){l(this.dialogTabTemplate({title:t.title,tab:i})).data({message:t.message,filter:t.filter}).appendTo(e)}),this),this.initTabs();var t=this;l(window).on("resize",(function(){t.balanceWidgetHeights()}))},tabClickHandler:function(e){this.filter=e.parent().data("filter"),this.filter.search=this.$(".so-sidebar-search").val();var t=e.parent().data("message");return _.isEmpty(t)&&(t=""),this.$(".so-toolbar .so-status").html(t),this.filterWidgets(this.filter),!1},searchHandler:function(e){if(13===e.which){var t=this.$(".widget-type-list .widget-type:visible");1===t.length&&t.trigger("click")}else this.filter.search=l(e.target).val().trim(),this.filterWidgets(this.filter)},filterWidgets:function(e){_.isUndefined(e)&&(e={}),_.isUndefined(e.groups)&&(e.groups=""),this.$(".widget-type-list .widget-type").each((function(){var t,i=l(this),s=i.data("class"),o=_.isUndefined(panelsOptions.widgets[s])?null:panelsOptions.widgets[s];(t=!!_.isEmpty(e.groups)||null!==o&&!_.isEmpty(_.intersection(e.groups,panelsOptions.widgets[s].groups)))&&(_.isUndefined(e.search)||""===e.search||-1===o.title.toLowerCase().indexOf(e.search.toLowerCase())&&(t=!1)),t?i.show():i.hide()})),this.balanceWidgetHeights()},widgetClickHandler:function(e){this.builder.trigger("before_user_adds_widget"),this.builder.addHistoryEntry("widget_added");var t=l(e.currentTarget),i=new s.model.widget({class:t.data("class")});i.cell=this.builder.getActiveCell(),i.cell.get("widgets").add(i),this.closeDialog(),this.builder.model.refreshPanelsData(),this.builder.trigger("after_user_adds_widget",i)},balanceWidgetHeights:function(e){var t=[[]],i=null,s=Math.round(this.$(".widget-type").parent().width()/this.$(".widget-type").width());this.$(".widget-type").css("clear","none").filter(":visible").each((function(e,t){e%s==0&&0!==e&&l(t).css("clear","both")})),this.$(".widget-type-wrapper").css("height","auto").filter(":visible").each((function(e,s){var o=l(s);null!==i&&i.position().top!==o.position().top&&(t[t.length]=[]),i=o,t[t.length-1].push(o)})),_.each(t,(function(e,t){var i=_.max(e.map((function(e){return e.height()})));_.each(e,(function(e){e.height(i)}))}))}})},{}],11:[function(e,t,i){var s=jQuery;t.exports={triggerClickOnEnter:function(e){13==e.which&&s(e.target).trigger("click")}}},{}],12:[function(e,t,i){t.exports={canCopyPaste:function(){return"undefined"!=typeof Storage&&panelsOptions.user},setModel:function(e){if(!this.canCopyPaste())return!1;var t=panels.helpers.serialize.serialize(e);return e instanceof panels.model.row?t.thingType="row-model":e instanceof panels.model.widget&&(t.thingType="widget-model"),localStorage["panels_clipboard_"+panelsOptions.user]=JSON.stringify(t),!0},isModel:function(e){if(!this.canCopyPaste())return!1;var t=localStorage["panels_clipboard_"+panelsOptions.user];return void 0!==t&&((t=JSON.parse(t)).thingType&&t.thingType===e)},getModel:function(e){if(!this.canCopyPaste())return null;var t=localStorage["panels_clipboard_"+panelsOptions.user];return void 0!==t&&(t=JSON.parse(t)).thingType&&t.thingType===e?panels.helpers.serialize.unserialize(t,t.thingType,null):null}}},{}],13:[function(e,t,i){t.exports={isBlockEditor:function(){return void 0!==wp.blocks},isClassicEditor:function(e){return e.attachedToEditor&&e.$el.is(":visible")}}},{}],14:[function(e,t,i){t.exports={lock:function(){if("hidden"!==jQuery("body").css("overflow")){var e=[self.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft,self.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop];jQuery("body").data({"scroll-position":e}).css("overflow","hidden"),_.isUndefined(e)||window.scrollTo(e[0],e[1])}},unlock:function(){if("hidden"===jQuery("body").css("overflow")&&!jQuery(".so-panels-dialog-wrapper").is(":visible")&&!jQuery(".so-panels-live-editor").is(":visible")){jQuery("body").css("overflow","visible");var e=jQuery("body").data("scroll-position");_.isUndefined(e)||window.scrollTo(e[0],e[1])}}}},{}],15:[function(e,t,i){t.exports={serialize:function(e){var t;if(e instanceof Backbone.Model){var i={};for(var s in e.attributes)if(e.attributes.hasOwnProperty(s)){if("builder"===s||"collection"===s)continue;(t=e.attributes[s])instanceof Backbone.Model||t instanceof Backbone.Collection?i[s]=this.serialize(t):i[s]=t}return i}if(e instanceof Backbone.Collection){for(var l=[],o=0;o<e.models.length;o++)(t=e.models[o])instanceof Backbone.Model||t instanceof Backbone.Collection?l.push(this.serialize(t)):l.push(t);return l}},unserialize:function(e,t,i){var s;switch(t){case"row-model":(s=new panels.model.row).builder=i;var l={style:e.style};e.hasOwnProperty("label")&&(l.label=e.label),e.hasOwnProperty("color_label")&&(l.color_label=e.color_label),s.set(l),s.setCells(this.unserialize(e.cells,"cell-collection",s));break;case"cell-model":(s=new panels.model.cell).row=i,s.set("weight",e.weight),s.set("style",e.style),s.set("widgets",this.unserialize(e.widgets,"widget-collection",s));break;case"widget-model":for(var o in(s=new panels.model.widget).cell=i,e)e.hasOwnProperty(o)&&s.set(o,e[o]);s.set("widget_id",panels.helpers.utils.generateUUID());break;case"cell-collection":s=new panels.collection.cells;for(var n=0;n<e.length;n++)s.push(this.unserialize(e[n],"cell-model",i));break;case"widget-collection":s=new panels.collection.widgets;for(n=0;n<e.length;n++)s.push(this.unserialize(e[n],"widget-model",i));break;default:console.log("Unknown Thing - "+t)}return s}}},{}],16:[function(e,t,i){t.exports={generateUUID:function(){var e=(new Date).getTime();return window.performance&&"function"==typeof window.performance.now&&(e+=performance.now()),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(t){var i=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"==t?i:3&i|8).toString(16)}))},processTemplate:function(e){return _.isUndefined(e)||_.isNull(e)?"":e=(e=(e=e.replace(/{{%/g,"<%")).replace(/%}}/g,"%>")).trim()},selectElementContents:function(e){var t=document.createRange();t.selectNodeContents(e);var i=window.getSelection();i.removeAllRanges(),i.addRange(t)}}},{}],17:[function(e,t,i){var s=window.panels,l=jQuery;t.exports=function(e,t){return this.each((function(){var i=jQuery(this);if(!i.data("soPanelsBuilderWidgetInitialized")||t){var o=i.closest("form").find(".widget-id").val(),n=l.extend(!0,{builderSupports:i.data("builder-supports")},e);if(_.isUndefined(o)||!(o.indexOf("__i__")>-1)){var r=new s.model.builder,a=new s.view.builder({model:r,config:n}),d=i.closest(".so-panels-dialog-wrapper").data("view");_.isUndefined(d)||(d.on("close_dialog",(function(){r.refreshPanelsData()})),d.on("open_dialog_complete",(function(){a.trigger("builder_resize")})),d.model.on("destroy",(function(){r.emptyRows().destroy()})),a.setDialogParents(panelsOptions.loc.layout_widget,d));var c=Boolean(i.closest(".widget-content").length);a.render().attach({container:i,dialog:c||"dialog"===i.data("mode"),type:i.data("type")}).setDataField(i.find("input.panels-data")),c||"dialog"===i.data("mode")?(a.setDialogParents(panelsOptions.loc.layout_widget,a.dialog),i.find(".siteorigin-panels-display-builder").on("click",(function(e){e.preventDefault(),a.dialog.openDialog()}))):i.find(".siteorigin-panels-display-builder").parent().remove(),l(document).trigger("panels_setup",a),i.data("soPanelsBuilderWidgetInitialized",!0)}}}))}},{}],18:[function(e,t,i){
2
  /**
3
  * Everything we need for SiteOrigin Page Builder.
4
  *
5
  * @copyright Greg Priday 2013 - 2016 - <https://siteorigin.com/>
6
  * @license GPL 3.0 http://www.gnu.org/licenses/gpl.html
7
  */
8
+ var s={};window.panels=s,window.siteoriginPanels=s,s.helpers={},s.helpers.clipboard=e("./helpers/clipboard"),s.helpers.utils=e("./helpers/utils"),s.helpers.editor=e("./helpers/editor"),s.helpers.serialize=e("./helpers/serialize"),s.helpers.pageScroll=e("./helpers/page-scroll"),s.helpers.accessibility=e("./helpers/accessibility"),s.model={},s.model.widget=e("./model/widget"),s.model.cell=e("./model/cell"),s.model.row=e("./model/row"),s.model.builder=e("./model/builder"),s.model.historyEntry=e("./model/history-entry"),s.collection={},s.collection.widgets=e("./collection/widgets"),s.collection.cells=e("./collection/cells"),s.collection.rows=e("./collection/rows"),s.collection.historyEntries=e("./collection/history-entries"),s.view={},s.view.widget=e("./view/widget"),s.view.cell=e("./view/cell"),s.view.row=e("./view/row"),s.view.builder=e("./view/builder"),s.view.dialog=e("./view/dialog"),s.view.styles=e("./view/styles"),s.view.liveEditor=e("./view/live-editor"),s.dialog={},s.dialog.builder=e("./dialog/builder"),s.dialog.widgets=e("./dialog/widgets"),s.dialog.widget=e("./dialog/widget"),s.dialog.prebuilt=e("./dialog/prebuilt"),s.dialog.row=e("./dialog/row"),s.dialog.history=e("./dialog/history"),s.utils={},s.utils.menu=e("./utils/menu"),jQuery.fn.soPanelsSetupBuilderWidget=e("./jquery/setup-builder-widget"),jQuery((function(e){var t,i,s,l,o=e("#siteorigin-panels-metabox");if(s=e("form#post"),o.length&&s.length)t=o,i=o.find(".siteorigin-panels-data-field"),l={editorType:"tinyMCE",postId:e("#post_ID").val(),editorId:"#content",builderType:o.data("builder-type"),builderSupports:o.data("builder-supports"),loadOnAttach:panelsOptions.loadOnAttach&&1==e("#auto_draft").val(),loadLiveEditor:1==o.data("live-editor"),liveEditorPreview:t.data("preview-url")};else if(e(".siteorigin-panels-builder-form").length){var n=e(".siteorigin-panels-builder-form");t=n.find(".siteorigin-panels-builder-container"),i=n.find('input[name="panels_data"]'),s=n,l={editorType:"standalone",postId:n.data("post-id"),editorId:"#post_content",builderType:n.data("type"),builderSupports:n.data("builder-supports"),loadLiveEditor:!1,liveEditorPreview:n.data("preview-url")}}if(!_.isUndefined(t)){var r=window.siteoriginPanels,a=new r.model.builder,d=new r.view.builder({model:a,config:l});e(document).trigger("before_panels_setup",d),d.render().attach({container:t}).setDataField(i).attachToEditor(),s.on("submit",(function(){a.refreshPanelsData()})),t.removeClass("so-panels-loading"),e(document).trigger("panels_setup",d,window.panels),window.soPanelsBuilderView=d}e(document).on("widget-added",(function(t,i){e(i).find(".siteorigin-page-builder-widget").soPanelsSetupBuilderWidget()})),e("body").hasClass("wp-customizer")||e((function(){e(".siteorigin-page-builder-widget").soPanelsSetupBuilderWidget()})),e(window).on("keyup",(function(t){27===t.which&&e(".so-panels-dialog-wrapper, .so-panels-live-editor").filter(":visible").last().find(".so-title-bar .so-close, .live-editor-close").trigger("click")}))}))},{"./collection/cells":1,"./collection/history-entries":2,"./collection/rows":3,"./collection/widgets":4,"./dialog/builder":5,"./dialog/history":6,"./dialog/prebuilt":7,"./dialog/row":8,"./dialog/widget":9,"./dialog/widgets":10,"./helpers/accessibility":11,"./helpers/clipboard":12,"./helpers/editor":13,"./helpers/page-scroll":14,"./helpers/serialize":15,"./helpers/utils":16,"./jquery/setup-builder-widget":17,"./model/builder":19,"./model/cell":20,"./model/history-entry":21,"./model/row":22,"./model/widget":23,"./utils/menu":24,"./view/builder":25,"./view/cell":26,"./view/dialog":27,"./view/live-editor":28,"./view/row":29,"./view/styles":30,"./view/widget":31}],19:[function(e,t,i){t.exports=Backbone.Model.extend({layoutPosition:{BEFORE:"before",AFTER:"after",REPLACE:"replace"},rows:{},defaults:{data:{widgets:[],grids:[],grid_cells:[]}},initialize:function(){this.set("rows",new panels.collection.rows)},addRow:function(e,t,i){i=_.extend({noAnimate:!1},i);var s=new panels.collection.cells(t);e=_.extend({collection:this.get("rows"),cells:s},e);var l=new panels.model.row(e);return l.builder=this,this.get("rows").add(l,i),l},loadPanelsData:function(e,t){try{t===this.layoutPosition.BEFORE?e=this.concatPanelsData(e,this.getPanelsData()):t===this.layoutPosition.AFTER&&(e=this.concatPanelsData(this.getPanelsData(),e)),this.emptyRows(),this.set("data",JSON.parse(JSON.stringify(e)),{silent:!0});var i,s=[];if(_.isUndefined(e.grid_cells))return void this.trigger("load_panels_data");for(var l=0;l<e.grid_cells.length;l++)i=parseInt(e.grid_cells[l].grid),_.isUndefined(s[i])&&(s[i]=[]),s[i].push(e.grid_cells[l]);var o=this;if(_.each(s,(function(t,i){var s={};_.isUndefined(e.grids[i].style)||(s.style=e.grids[i].style),_.isUndefined(e.grids[i].ratio)||(s.ratio=e.grids[i].ratio),_.isUndefined(e.grids[i].ratio_direction)||(s.ratio_direction=e.grids[i].ratio_direction),_.isUndefined(e.grids[i].color_label)||(s.color_label=e.grids[i].color_label),_.isUndefined(e.grids[i].label)||(s.label=e.grids[i].label),o.addRow(s,t,{noAnimate:!0})})),_.isUndefined(e.widgets))return;_.each(e.widgets,(function(e){var t=null;_.isUndefined(e.panels_info)?(t=e.info,delete e.info):(t=e.panels_info,delete e.panels_info);var i=o.get("rows").at(parseInt(t.grid)).get("cells").at(parseInt(t.cell)),s=new panels.model.widget({class:t.class,values:e});_.isUndefined(t.style)||s.set("style",t.style),_.isUndefined(t.read_only)||s.set("read_only",t.read_only),_.isUndefined(t.widget_id)?s.set("widget_id",panels.helpers.utils.generateUUID()):s.set("widget_id",t.widget_id),_.isUndefined(t.label)||s.set("label",t.label),s.cell=i,i.get("widgets").add(s,{noAnimate:!0})})),this.trigger("load_panels_data")}catch(e){console.log("Error loading data: "+e.message)}},concatPanelsData:function(e,t){if(_.isUndefined(t)||_.isUndefined(t.grids)||_.isEmpty(t.grids)||_.isUndefined(t.grid_cells)||_.isEmpty(t.grid_cells))return e;if(_.isUndefined(e)||_.isUndefined(e.grids)||_.isEmpty(e.grids))return t;var i,s=e.grids.length,l=_.isUndefined(e.widgets)?0:e.widgets.length,o={grids:[],grid_cells:[],widgets:[]};for(o.grids=e.grids.concat(t.grids),_.isUndefined(e.grid_cells)||(o.grid_cells=e.grid_cells.slice()),_.isUndefined(e.widgets)||(o.widgets=e.widgets.slice()),i=0;i<t.grid_cells.length;i++){var n=t.grid_cells[i];n.grid=parseInt(n.grid)+s,o.grid_cells.push(n)}if(!_.isUndefined(t.widgets))for(i=0;i<t.widgets.length;i++){var r=t.widgets[i];r.panels_info.grid=parseInt(r.panels_info.grid)+s,r.panels_info.id=parseInt(r.panels_info.id)+l,o.widgets.push(r)}return o},getPanelsData:function(){var e={widgets:[],grids:[],grid_cells:[]},t=0;return this.get("rows").each((function(i,s){i.get("cells").each((function(i,l){i.get("widgets").each((function(i,o){var n={class:i.get("class"),raw:i.get("raw"),grid:s,cell:l,id:t++,widget_id:i.get("widget_id"),style:i.get("style"),label:i.get("label")};_.isEmpty(n.widget_id)&&(n.widget_id=panels.helpers.utils.generateUUID());var r=_.extend(_.clone(i.get("values")),{panels_info:n});e.widgets.push(r)})),e.grid_cells.push({grid:s,index:l,weight:i.get("weight"),style:i.get("style")})})),e.grids.push({cells:i.get("cells").length,style:i.get("style"),ratio:i.get("ratio"),ratio_direction:i.get("ratio_direction"),color_label:i.get("color_label"),label:i.get("label")})})),e},refreshPanelsData:function(e){e=_.extend({silent:!1},e);var t=this.get("data"),i=this.getPanelsData();this.set("data",i,{silent:!0}),e.silent||JSON.stringify(i)===JSON.stringify(t)||(this.trigger("change"),this.trigger("change:data"),this.trigger("refresh_panels_data",i,e))},emptyRows:function(){return _.invoke(this.get("rows").toArray(),"destroy"),this.get("rows").reset(),this},isValidLayoutPosition:function(e){return e===this.layoutPosition.BEFORE||e===this.layoutPosition.AFTER||e===this.layoutPosition.REPLACE},getPanelsDataFromHtml:function(e,t){var i,s=this,l=jQuery('<div id="wrapper">'+e+"</div>");if(l.find(".panel-layout .panel-grid").length){var o={grids:[],grid_cells:[],widgets:[]},n=new RegExp(panelsOptions.siteoriginWidgetRegex,"i"),r=(i=document.createElement("div"),function(e){return e&&"string"==typeof e&&(e=(e=e.replace(/<script[^>]*>([\S\s]*?)<\/script>/gim,"")).replace(/<\/?\w(?:[^"'>]|"[^"]*"|'[^']*')*>/gim,""),i.innerHTML=e,e=i.textContent,i.textContent=""),e}),a=function(e){var t=e.find("div");if(!t.length)return e.html();for(var i=0;i<t.length-1&&t.eq(i).text().trim()==t.eq(i+1).text().trim();i++);var s=t.eq(i).find(".widget-title:header"),l="";return s.length&&(l=s.html(),s.remove()),{title:l,text:t.eq(i).html()}},d=l.find(".panel-layout").eq(0),c=function(e,t){return jQuery(t).closest(".panel-layout").is(d)};return l.find("> .panel-layout > .panel-grid").filter(c).each((function(e,i){var l=jQuery(i),d=l.find(".panel-grid-cell").filter(c);o.grids.push({cells:d.length,style:l.data("style"),ratio:l.data("ratio"),ratio_direction:l.data("ratio-direction"),color_label:l.data("color-label"),label:l.data("label")}),d.each((function(i,l){var d=jQuery(l),h=d.find(".so-panel").filter(c);o.grid_cells.push({grid:e,weight:_.isUndefined(d.data("weight"))?1:parseFloat(d.data("weight")),style:d.data("style")}),h.each((function(l,d){var c=jQuery(d),h=c.find(".panel-widget-style").length?c.find(".panel-widget-style").html():c.html(),u={grid:e,cell:i,style:c.data("style"),raw:!1,label:c.data("label")};h=h.trim();var p=n.exec(h);if(!_.isNull(p)&&""===h.replace(n,"").trim()){try{var g=/class="(.*?)"/.exec(p[3]),f=jQuery(p[5]),w=JSON.parse(r(f.val())).instance;u.class=g[1].replace(/\\\\+/g,"\\"),u.raw=!1,w.panels_info=u,o.widgets.push(w)}catch(e){u.class=t,o.widgets.push(_.extend(a(c),{filter:"1",type:"visual",panels_info:u}))}return!0}return-1!==h.indexOf("panel-layout")&&jQuery("<div>"+h+"</div>").find(".panel-layout .panel-grid").length?(u.class="SiteOrigin_Panels_Widgets_Layout",o.widgets.push({panels_data:s.getPanelsDataFromHtml(h,t),panels_info:u}),!0):(u.class=t,o.widgets.push(_.extend(a(c),{filter:"1",type:"visual",panels_info:u})),!0)}))}))})),l.find(".panel-layout").remove(),l.find("style[data-panels-style-for-post]").remove(),l.html().replace(/^\s+|\s+$/gm,"").length&&(o.grids.push({cells:1,style:{}}),o.grid_cells.push({grid:o.grids.length-1,weight:1}),o.widgets.push({filter:"1",text:l.html().replace(/^\s+|\s+$/gm,""),title:"",type:"visual",panels_info:{class:t,raw:!1,grid:o.grids.length-1,cell:0}})),o}return{grid_cells:[{grid:0,weight:1}],grids:[{cells:1}],widgets:[{filter:"1",text:e,title:"",type:"visual",panels_info:{class:t,raw:!1,grid:0,cell:0}}]}}})},{}],20:[function(e,t,i){t.exports=Backbone.Model.extend({widgets:{},row:null,defaults:{weight:0,style:{}},indexes:null,initialize:function(){this.set("widgets",new panels.collection.widgets),this.on("destroy",this.onDestroy,this)},onDestroy:function(){_.invoke(this.get("widgets").toArray(),"destroy"),this.get("widgets").reset()},clone:function(e,t){_.isUndefined(e)&&(e=this.row),t=_.extend({cloneWidgets:!0},t);var i=new this.constructor(this.attributes);return i.set("collection",e.get("cells"),{silent:!0}),i.row=e,t.cloneWidgets&&this.get("widgets").each((function(e){i.get("widgets").add(e.clone(i,t),{silent:!0})})),i}})},{}],21:[function(e,t,i){t.exports=Backbone.Model.extend({defaults:{text:"",data:"",time:null,count:1}})},{}],22:[function(e,t,i){t.exports=Backbone.Model.extend({builder:null,defaults:{style:{}},indexes:null,initialize:function(){_.isEmpty(this.get("cells"))?this.set("cells",new panels.collection.cells):this.get("cells").each(function(e){e.row=this}.bind(this)),this.on("destroy",this.onDestroy,this)},setCells:function(e){var t=this.get("cells")||new panels.collection.cells,i=[];t.each((function(s,l){var o=e.at(l);if(o)s.set("weight",o.get("weight"));else{for(var n=t.at(e.length-1),r=s.get("widgets").models.slice(),a=0;a<r.length;a++)r[a].moveToCell(n,{silent:!1});i.push(s)}})),_.each(i,(function(e){t.remove(e)})),e.length>t.length&&_.each(e.slice(t.length,e.length),function(e){e.set({collection:t}),e.row=this,t.add(e)}.bind(this)),this.reweightCells()},reweightCells:function(){var e=0,t=this.get("cells");t.each((function(t){e+=t.get("weight")})),t.each((function(t){t.set("weight",t.get("weight")/e)})),this.trigger("reweight_cells")},onDestroy:function(){_.invoke(this.get("cells").toArray(),"destroy"),this.get("cells").reset()},clone:function(e){_.isUndefined(e)&&(e=this.builder);var t=new this.constructor(this.attributes);t.set("collection",e.get("rows"),{silent:!0}),t.builder=e;var i=new panels.collection.cells;return this.get("cells").each((function(e){i.add(e.clone(t),{silent:!0})})),t.set("cells",i),t}})},{}],23:[function(e,t,i){t.exports=Backbone.Model.extend({cell:null,defaults:{class:null,missing:!1,values:{},raw:!1,style:{},read_only:!1,widget_id:""},indexes:null,initialize:function(){var e=this.get("class");!_.isUndefined(panelsOptions.widgets[e])&&panelsOptions.widgets[e].installed||this.set("missing",!0)},getWidgetField:function(e){return _.isUndefined(panelsOptions.widgets[this.get("class")])?"title"===e||"description"===e?panelsOptions.loc.missing_widget[e]:"":this.has("label")&&!_.isEmpty(this.get("label"))?this.get("label"):panelsOptions.widgets[this.get("class")][e]},moveToCell:function(e,t,i){return t=_.extend({silent:!0},t),this.cell=e,this.collection.remove(this,t),e.get("widgets").add(this,_.extend({at:i},t)),this.trigger("move_to_cell",e,i),this},setValues:function(e){var t=!1;JSON.stringify(e)!==JSON.stringify(this.get("values"))&&(t=!0),this.set("values",e,{silent:!0}),t&&(this.trigger("change",this),this.trigger("change:values"))},clone:function(e,t){_.isUndefined(e)&&(e=this.cell);var i=new this.constructor(this.attributes),s=JSON.parse(JSON.stringify(this.get("values"))),l=function(e){return _.each(e,(function(t,i){_.isString(i)&&"_"===i[0]?delete e[i]:_.isObject(e[i])&&l(e[i])})),e};return s=l(s),"SiteOrigin_Panels_Widgets_Layout"===this.get("class")&&(s.builder_id=Math.random().toString(36).substr(2)),i.set("widget_id",""),i.set("values",s,{silent:!0}),i.set("collection",e.get("widgets"),{silent:!0}),i.cell=e,i.isDuplicate=!0,i},getTitle:function(){var e=panelsOptions.widgets[this.get("class")];if(_.isUndefined(e))return this.get("class").replace(/_/g," ");if(!_.isUndefined(e.panels_title)&&!1===e.panels_title)return panelsOptions.widgets[this.get("class")].description;var t=this.get("values"),i=["title","text"];for(var s in t)"_"!==s.charAt(0)&&"so_sidebar_emulator_id"!==s&&"option_name"!==s&&t.hasOwnProperty(s)&&i.push(s);for(var l in i=_.uniq(i))if(!_.isUndefined(t[i[l]])&&_.isString(t[i[l]])&&""!==t[i[l]]&&"on"!==t[i[l]]&&"true"!==t[i[l]]&&"false"!==t[i[l]]&&"_"!==i[l][0]&&!_.isFinite(t[i[l]])){var o=t[i[l]],n=(o=o.replace(/<\/?[^>]+(>|$)/g,"")).split(" ");return(n=n.slice(0,20)).join(" ")}return this.getWidgetField("description")}})},{}],24:[function(e,t,i){var s=window.panels,l=jQuery;t.exports=Backbone.View.extend({wrapperTemplate:_.template(s.helpers.utils.processTemplate(l("#siteorigin-panels-context-menu").html())),sectionTemplate:_.template(s.helpers.utils.processTemplate(l("#siteorigin-panels-context-menu-section").html())),contexts:[],active:!1,events:{"keyup .so-search-wrapper input":"searchKeyUp"},initialize:function(){this.listenContextMenu(),this.render(),this.attach()},listenContextMenu:function(){var e=this;l(window).on("contextmenu",(function(t){return e.active&&!e.isOverEl(e.$el,t)?(e.closeMenu(),e.active=!1,t.preventDefault(),!1):!!e.active||(e.active=!1,e.trigger("activate_context",t,e),void(e.active&&(t.preventDefault(),e.openMenu({left:t.pageX,top:t.pageY}))))}))},render:function(){this.setElement(this.wrapperTemplate())},attach:function(){this.$el.appendTo("body")},openMenu:function(e){this.trigger("open_menu"),l(window).on("keyup",{menu:this},this.keyboardListen),l(window).on("click",{menu:this},this.clickOutsideListen),this.$el.css("max-height",l(window).height()-20),e.left+this.$el.outerWidth()+10>=l(window).width()&&(e.left=l(window).width()-this.$el.outerWidth()-10),e.left<=0&&(e.left=10),e.top+this.$el.outerHeight()-l(window).scrollTop()+10>=l(window).height()&&(e.top=l(window).height()+l(window).scrollTop()-this.$el.outerHeight()-10),e.left<=0&&(e.left=10),this.$el.css({left:e.left+1,top:e.top+1}).show(),this.$(".so-search-wrapper input").trigger("focus")},closeMenu:function(){this.trigger("close_menu"),l(window).off("keyup",this.keyboardListen),l(window).off("click",this.clickOutsideListen),this.active=!1,this.$el.empty().hide()},keyboardListen:function(e){var t=e.data.menu;switch(e.which){case 27:t.closeMenu()}},clickOutsideListen:function(e){var t=e.data.menu;3!==e.which&&t.$el.is(":visible")&&!t.isOverEl(t.$el,e)&&t.closeMenu()},addSection:function(e,t,i,s){var o=this;t=_.extend({display:5,defaultDisplay:!1,search:!0,sectionTitle:"",searchPlaceholder:"",titleKey:"title"},t);var n=l(this.sectionTemplate({settings:t,items:i})).attr("id","panels-menu-section-"+e);this.$el.append(n),n.find(".so-item:not(.so-confirm)").on("click",(function(){var e=l(this);s(e.data("key")),o.closeMenu()})),n.find(".so-item.so-confirm").on("click",(function(){var e=l(this);if(e.hasClass("so-confirming"))return s(e.data("key")),void o.closeMenu();e.data("original-text",e.html()).addClass("so-confirming").html('<span class="dashicons dashicons-yes"></span> '+panelsOptions.loc.dropdown_confirm),setTimeout((function(){e.removeClass("so-confirming"),e.html(e.data("original-text"))}),2500)})),n.data("settings",t).find(".so-search-wrapper input").trigger("keyup"),this.active=!0},hasSection:function(e){return this.$el.find("#panels-menu-section-"+e).length>0},searchKeyUp:function(e){var t=l(e.currentTarget),i=t.closest(".so-section"),s=i.data("settings");if(38===e.which||40===e.which){var o=i.find("ul li:visible"),n=o.filter(".so-active").eq(0);if(n.length){o.removeClass("so-active");var r=o.index(n);38===e.which?n=r-1<0?o.last():o.eq(r-1):40===e.which&&(n=r+1>=o.length?o.first():o.eq(r+1))}else 38===e.which?n=o.last():40===e.which&&(n=o.first());return n.addClass("so-active"),!1}if(13===e.which)return 1===i.find("ul li:visible").length?(i.find("ul li:visible").trigger("click"),!1):(i.find("ul li.so-active:visible").trigger("click"),!1);if(""===t.val())if(s.defaultDisplay){i.find(".so-item").hide();for(var a=0;a<s.defaultDisplay.length;a++)i.find('.so-item[data-key="'+s.defaultDisplay[a]+'"]').show()}else i.find(".so-item").show();else i.find(".so-item").hide().each((function(){var e=l(this);-1!==e.html().toLowerCase().indexOf(t.val().toLowerCase())&&e.show()}));i.find(".so-item:visible:gt("+(s.display-1)+")").hide(),0===i.find(".so-item:visible").length&&""!==t.val()?i.find(".so-no-results").show():i.find(".so-no-results").hide()},isOverEl:function(e,t){var i=[[e.offset().left,e.offset().top],[e.offset().left+e.outerWidth(),e.offset().top+e.outerHeight()]];return t.pageX>=i[0][0]&&t.pageX<=i[1][0]&&t.pageY>=i[0][1]&&t.pageY<=i[1][1]}})},{}],25:[function(e,t,i){var s=window.panels,l=jQuery;t.exports=Backbone.View.extend({config:{},template:_.template(s.helpers.utils.processTemplate(l("#siteorigin-panels-builder").html())),dialogs:{},rowsSortable:null,dataField:!1,currentData:"",contentPreview:"",attachedToEditor:!1,attachedVisible:!1,liveEditor:void 0,menu:!1,activeCell:null,events:{"click .so-tool-button.so-widget-add":"displayAddWidgetDialog","click .so-tool-button.so-row-add":"displayAddRowDialog","click .so-tool-button.so-prebuilt-add":"displayAddPrebuiltDialog","click .so-tool-button.so-history":"displayHistoryDialog","click .so-tool-button.so-live-editor":"displayLiveEditor","keyup .so-tool-button":function(e){s.helpers.accessibility.triggerClickOnEnter(e)}},rows:null,initialize:function(e){var t=this;return this.config=_.extend({loadLiveEditor:!1,builderSupports:{}},e.config),this.config.builderSupports=_.extend({addRow:!0,editRow:!0,deleteRow:!0,moveRow:!0,addWidget:!0,editWidget:!0,deleteWidget:!0,moveWidget:!0,prebuilt:!0,history:!0,liveEditor:!0,revertToEditor:!0},this.config.builderSupports),e.config.loadLiveEditor&&this.on("builder_live_editor_added",(function(){this.displayLiveEditor()})),this.dialogs={widgets:new s.dialog.widgets,row:new s.dialog.row,prebuilt:new s.dialog.prebuilt},$panelsMetabox=l("#siteorigin-panels-metabox"),$panelsMetabox.length&&(this.contentPreview=l.parseHTML($panelsMetabox.data("preview-markup"))),_.each(this.dialogs,(function(e,i,s){s[i].setBuilder(t)})),this.dialogs.row.setRowDialogType("create"),this.listenTo(this.model.get("rows"),"add",this.onAddRow),l(window).on("resize",(function(e){e.target===window&&t.trigger("builder_resize")})),this.listenTo(this.model,"change:data load_panels_data",this.storeModelData),this.listenTo(this.model,"change:data load_panels_data",this.toggleWelcomeDisplay),this.on("builder_attached_to_editor",this.handleContentChange,this),this.on("content_change",this.handleContentChange,this),this.on("display_builder",this.handleDisplayBuilder,this),this.on("hide_builder",this.handleHideBuilder,this),this.on("builder_rendered builder_resize",this.handleBuilderSizing,this),this.on("display_builder",this.wrapEditorExpandAdjust,this),this.menu=new s.utils.menu({}),this.listenTo(this.menu,"activate_context",this.activateContextMenu),this.config.loadOnAttach&&this.on("builder_attached_to_editor",(function(){this.displayAttachedBuilder({confirm:!1})}),this),this},render:function(){return this.setElement(this.template()),this.$el.attr("id","siteorigin-panels-builder-"+this.cid).addClass("so-builder-container"),this.trigger("builder_rendered"),this},attach:function(e){(e=_.extend({container:!1,dialog:!1},e)).dialog?(this.dialog=new s.dialog.builder,this.dialog.builder=this):(this.$el.appendTo(e.container),this.metabox=e.container.closest(".postbox"),this.initSortable(),this.trigger("attached_to_container",e.container)),this.trigger("builder_attached"),this.supports("liveEditor")&&this.addLiveEditor(),this.supports("history")&&this.addHistoryBrowser();var t=this.$(".so-builder-toolbar"),i=this.$(".so-panels-welcome-message"),l=panelsOptions.loc.welcomeMessage,o=[];this.supports("addWidget")?o.push(l.addWidgetButton):t.find(".so-widget-add").hide(),this.supports("addRow")?o.push(l.addRowButton):t.find(".so-row-add").hide(),this.supports("prebuilt")?o.push(l.addPrebuiltButton):t.find(".so-prebuilt-add").hide();var n="";3===o.length?n=l.threeEnabled:2===o.length?n=l.twoEnabled:1===o.length?n=l.oneEnabled:0===o.length&&(n=l.addingDisabled);var r=_.template(s.helpers.utils.processTemplate(n))({items:o})+" "+l.docsMessage;return i.find(".so-message-wrapper").html(r),this},attachToEditor:function(){if("tinyMCE"!==this.config.editorType)return this;this.attachedToEditor=!0;var e=this.metabox,t=this;l("#wp-content-wrap .wp-editor-tabs").find(".wp-switch-editor").on("click",(function(e){e.preventDefault(),l("#wp-content-editor-container").show(),l("#wp-content-wrap").removeClass("panels-active"),l("#content-resize-handle").show(),t.trigger("hide_builder")})).end().append(l('<button type="button" id="content-panels" class="hide-if-no-js wp-switch-editor switch-panels">'+e.find("h2.hndle").html()+"</button>").on("click",(function(e){t.displayAttachedBuilder({confirm:!0})&&e.preventDefault()}))),this.supports("revertToEditor")&&e.find(".so-switch-to-standard").on("click keyup",(function(i){i.preventDefault(),"keyup"==i.type&&13!=i.which||confirm(panelsOptions.loc.confirm_stop_builder)&&(t.addHistoryEntry("back_to_editor"),t.model.loadPanelsData(!1),l("#wp-content-wrap").show(),e.hide(),l(window).trigger("resize"),t.attachedVisible=!1,t.trigger("hide_builder"))})).show(),e.insertAfter("#wp-content-wrap").hide().addClass("attached-to-editor");var i=this.model.get("data");_.isEmpty(i.widgets)&&_.isEmpty(i.grids)&&this.supports("revertToEditor")||this.displayAttachedBuilder({confirm:!1});var s=function(){var e=t.$(".so-builder-toolbar");if(t.$el.hasClass("so-display-narrow"))return e.css({top:0,left:0,width:"100%",position:"absolute"}),void t.$el.css("padding-top",e.outerHeight()+"px");var i=l(window).scrollTop()-t.$el.offset().top;"fixed"===l("#wpadminbar").css("position")&&(i+=l("#wpadminbar").outerHeight());var s=0,o=t.$el.outerHeight()-e.outerHeight()+20;i>s&&i<o?"fixed"!==e.css("position")&&e.css({top:l("#wpadminbar").outerHeight(),left:t.$el.offset().left+"px",width:t.$el.outerWidth()+"px",position:"fixed"}):e.css({top:Math.min(Math.max(i,0),t.$el.outerHeight()-e.outerHeight()+20)+"px",left:0,width:"100%",position:"absolute"}),t.$el.css("padding-top",e.outerHeight()+"px")};return this.on("builder_resize",s,this),l(document).on("scroll",s),s(),this.trigger("builder_attached_to_editor"),this},displayAttachedBuilder:function(e){if((e=_.extend({confirm:!0},e)).confirm){var t="undefined"!=typeof tinyMCE&&tinyMCE.get("content");if(""!==(t&&_.isFunction(t.getContent)?t.getContent():l("textarea#content").val())&&!confirm(panelsOptions.loc.confirm_use_builder))return!1}return l("#wp-content-wrap").hide(),l("#editor-expand-toggle").on("change.editor-expand",(function(){l(this).prop("checked")||l("#wp-content-wrap").hide()})),this.metabox.show().find("> .inside").show(),l(window).trigger("resize"),l(document).trigger("scroll"),this.attachedVisible=!0,this.trigger("display_builder"),!0},initSortable:function(){if(!this.supports("moveRow"))return this;var e=this,t=e.$el.attr("id");return this.rowsSortable=this.$(".so-rows-container").sortable({appendTo:"#wpwrap",items:".so-row-container",handle:".so-row-move",connectWith:"#"+t+".so-rows-container,.block-editor .so-rows-container",axis:"y",tolerance:"pointer",scroll:!1,remove:function(t,i){e.model.get("rows").remove(l(i.item).data("view").model,{silent:!0}),e.model.refreshPanelsData()},receive:function(t,i){e.model.get("rows").add(l(i.item).data("view").model,{silent:!0,at:l(i.item).index()}),e.model.refreshPanelsData()},stop:function(t,i){var s=l(i.item),o=s.data("view"),n=e.model.get("rows");n.get(o.model)&&(e.addHistoryEntry("row_moved"),n.remove(o.model,{silent:!0}),n.add(o.model,{silent:!0,at:s.index()}),o.trigger("move",s.index()),e.model.refreshPanelsData())}}),this},refreshSortable:function(){_.isNull(this.rowsSortable)||this.rowsSortable.sortable("refresh")},setDataField:function(e,t){if(t=_.extend({load:!0},t),this.dataField=e,this.dataField.data("builder",this),t.load&&""!==e.val()){var i=this.dataField.val();try{i=JSON.parse(i)}catch(e){console.log("Failed to parse Page Builder layout data from supplied data field."),i={}}this.setData(i)}return this},setData:function(e){this.model.loadPanelsData(e),this.currentData=e,this.toggleWelcomeDisplay()},getData:function(){return this.model.get("data")},storeModelData:function(){var e=JSON.stringify(this.model.get("data"));l(this.dataField).val()!==e&&(l(this.dataField).val(e),l(this.dataField).trigger("change"),this.trigger("content_change"))},onAddRow:function(e,t,i){i=_.extend({noAnimate:!1},i);var l=new s.view.row({model:e});l.builder=this,l.render(),_.isUndefined(i.at)||t.length<=1?l.$el.appendTo(this.$(".so-rows-container")):l.$el.insertAfter(this.$(".so-rows-container .so-row-container").eq(i.at-1)),!1===i.noAnimate&&l.visualCreate(),this.refreshSortable(),l.resizeRow(),this.trigger("row_added")},displayAddWidgetDialog:function(){this.dialogs.widgets.openDialog()},displayAddRowDialog:function(){var e=new s.model.row,t=new s.collection.cells([{weight:.5},{weight:.5}]);t.each((function(t){t.row=e})),e.set("cells",t),e.builder=this.model,this.dialogs.row.setRowModel(e),this.dialogs.row.openDialog()},displayAddPrebuiltDialog:function(){this.dialogs.prebuilt.openDialog()},displayHistoryDialog:function(){this.dialogs.history.openDialog()},pasteRowHandler:function(){var e=s.helpers.clipboard.getModel("row-model");!_.isEmpty(e)&&e instanceof s.model.row&&(this.addHistoryEntry("row_pasted"),e.builder=this.model,this.model.get("rows").add(e,{at:this.model.get("rows").indexOf(this.model)+1}),this.model.refreshPanelsData())},getActiveCell:function(e){if(e=_.extend({createCell:!0},e),!this.model.get("rows").length){if(!e.createCell)return null;this.model.addRow({},[{weight:1}],{noAnimate:!0})}var t=this.activeCell;return _.isEmpty(t)||-1===this.model.get("rows").indexOf(t.model.row)?this.model.get("rows").last().get("cells").first():t.model},addLiveEditor:function(){return _.isEmpty(this.config.liveEditorPreview)?this:(this.liveEditor=new s.view.liveEditor({builder:this,previewUrl:this.config.liveEditorPreview}),this.liveEditor.hasPreviewUrl()&&this.$(".so-builder-toolbar .so-live-editor").show(),this.trigger("builder_live_editor_added"),this)},displayLiveEditor:function(){_.isUndefined(this.liveEditor)||this.liveEditor.open()},addHistoryBrowser:function(){if(_.isEmpty(this.config.liveEditorPreview))return this;this.dialogs.history=new s.dialog.history,this.dialogs.history.builder=this,this.dialogs.history.entries.builder=this.model,this.dialogs.history.setRevertEntry(this.model),this.$(".so-builder-toolbar .so-history").show()},addHistoryEntry:function(e,t){_.isUndefined(t)&&(t=null),_.isUndefined(this.dialogs.history)||this.dialogs.history.entries.addEntry(e,t)},supports:function(e){return"rowAction"===e?this.supports("addRow")||this.supports("editRow")||this.supports("deleteRow"):"widgetAction"===e?this.supports("addWidget")||this.supports("editWidget")||this.supports("deleteWidget"):!_.isUndefined(this.config.builderSupports[e])&&this.config.builderSupports[e]},handleContentChange:function(){if(panelsOptions.copy_content&&(s.helpers.editor.isBlockEditor()||s.helpers.editor.isClassicEditor(this))){var e=this.model.getPanelsData();_.isEmpty(e.widgets)||l.post(panelsOptions.ajaxurl,{action:"so_panels_builder_content_json",panels_data:JSON.stringify(e),post_id:this.config.postId},function(e){this.contentPreview&&""!==e.post_content&&this.updateEditorContent(e.post_content),""!==e.preview&&(this.contentPreview=e.preview)}.bind(this))}},updateEditorContent:function(e){if("tinyMCE"!==this.config.editorType||"undefined"==typeof tinyMCE||_.isNull(tinyMCE.get("content"))){l(this.config.editorId).val(e).trigger("change").trigger("keyup")}else{var t=tinyMCE.get("content");t.setContent(e),t.fire("change"),t.fire("keyup")}this.triggerSeoChange()},triggerSeoChange:function(){"undefined"==typeof YoastSEO||_.isNull(YoastSEO)||_.isNull(YoastSEO.app.refresh)||YoastSEO.app.refresh(),"undefined"==typeof rankMathEditor||_.isNull(rankMathEditor)||_.isNull(rankMathEditor.refresh)||rankMathEditor.refresh("content")},handleDisplayBuilder:function(){var e="undefined"!=typeof tinyMCE&&tinyMCE.get("content"),t=e&&_.isFunction(e.getContent)?e.getContent():l("textarea#content").val();if((_.isEmpty(this.model.get("data"))||_.isEmpty(this.model.get("data").widgets)&&_.isEmpty(this.model.get("data").grids))&&""!==t){var i=panelsOptions.text_widget;if(_.isEmpty(i))return;this.model.loadPanelsData(this.model.getPanelsDataFromHtml(t,i)),this.model.trigger("change"),this.model.trigger("change:data")}l("#post-status-info").addClass("for-siteorigin-panels")},handleHideBuilder:function(){l("#post-status-info").show().removeClass("for-siteorigin-panels")},wrapEditorExpandAdjust:function(){try{for(var e,t=(l.hasData(window)&&l._data(window)).events.scroll,i=0;i<t.length;i++)if("editor-expand"===t[i].namespace){e=t[i],l(window).off("scroll",e.handler),l(window).on("scroll",function(t){this.attachedVisible||e.handler(t)}.bind(this));break}}catch(e){return}},handleBuilderSizing:function(){var e=this.$el.width();return e?(e<575?this.$el.addClass("so-display-narrow"):this.$el.removeClass("so-display-narrow"),this):this},setDialogParents:function(e,t){_.each(this.dialogs,(function(i,s,l){l[s].setParent(e,t)})),this.on("add_dialog",(function(i){i.setParent(e,t)}),this)},toggleWelcomeDisplay:function(){this.model.get("rows").isEmpty()?this.$(".so-panels-welcome-message").show():this.$(".so-panels-welcome-message").hide()},activateContextMenu:function(e,t){if(l.contains(this.$el.get(0),e.target)){var i=l([]).add(this.$(".so-panels-welcome-message:visible")).add(this.$(".so-rows-container > .so-row-container")).add(this.$(".so-cells > .cell")).add(this.$(".cell-wrapper > .so-widget")).filter((function(i){return t.isOverEl(l(this),e)})),s=i.last().data("view");void 0!==s&&void 0!==s.buildContextualMenu?s.buildContextualMenu(e,t):i.last().hasClass("so-panels-welcome-message")&&this.buildContextualMenu(e,t)}},buildContextualMenu:function(e,t){var i={};this.supports("addRow")&&(i.add_row={title:panelsOptions.loc.contextual.add_row}),s.helpers.clipboard.canCopyPaste()&&s.helpers.clipboard.isModel("row-model")&&this.supports("addRow")&&(i.paste_row={title:panelsOptions.loc.contextual.row_paste}),_.isEmpty(i)||t.addSection("builder-actions",{sectionTitle:panelsOptions.loc.contextual.row_actions,search:!1},i,function(e){switch(e){case"add_row":this.displayAddRowDialog();break;case"paste_row":this.pasteRowHandler()}}.bind(this))}})},{}],26:[function(e,t,i){var s=window.panels,l=jQuery;t.exports=Backbone.View.extend({template:_.template(s.helpers.utils.processTemplate(l("#siteorigin-panels-builder-cell").html())),events:{"click .cell-wrapper":"handleCellClick"},row:null,widgetSortable:null,initialize:function(){this.listenTo(this.model.get("widgets"),"add",this.onAddWidget)},render:function(){var e={weight:this.model.get("weight"),totalWeight:this.row.model.get("cells").totalWeight()};this.setElement(this.template(e)),this.$el.data("view",this);var t=this;return this.model.get("widgets").each((function(e){var i=new s.view.widget({model:e});i.cell=t,i.render(),i.$el.appendTo(t.$(".widgets-container"))})),this.initSortable(),this.initResizable(),this},initSortable:function(){if(!this.row.builder.supports("moveWidget"))return this;var e=this,t=e.row.builder,i=t.$el.attr("id"),s=t.model;return this.widgetSortable=this.$(".widgets-container").sortable({placeholder:"so-widget-sortable-highlight",connectWith:"#"+i+" .so-cells .cell .widgets-container,.block-editor .so-cells .cell .widgets-container",tolerance:"pointer",scroll:!1,over:function(t,i){e.row.builder.trigger("widget_sortable_move")},remove:function(t,i){e.model.get("widgets").remove(l(i.item).data("view").model,{silent:!0}),s.refreshPanelsData()},receive:function(t,i){var o=l(i.item).data("view");o.cell=e;var n=o.model;n.cell=e.model,e.model.get("widgets").add(n,{silent:!0,at:l(i.item).index()}),s.refreshPanelsData()},stop:function(t,i){var o=l(i.item),n=o.data("view"),r=o.closest(".cell").data("view");e.model.get("widgets").get(n.model)&&(e.row.builder.addHistoryEntry("widget_moved"),n.model.moveToCell(r.model,{},o.index()),n.cell=r,s.refreshPanelsData())},helper:function(e,t){var i=t.clone().css({width:t.outerWidth()+"px","z-index":1e4,position:"fixed"}).addClass("widget-being-dragged").appendTo("body");return t.outerWidth()>720&&i.animate({"margin-left":e.pageX-t.offset().left-240,width:480},"fast"),i}}),this},refreshSortable:function(){_.isNull(this.widgetSortable)||this.widgetSortable.sortable("refresh")},initResizable:function(){if(!this.row.builder.supports("editRow"))return this;var e,t=this.$(".resize-handle").css("position","absolute"),i=this.row.$el,s=this;return t.draggable({axis:"x",containment:i,start:function(t,i){if(e=s.$el.prev().data("view"),!_.isUndefined(e)){var o=s.$el.clone().appendTo(i.helper).css({position:"absolute",top:"0",width:s.$el.outerWidth(),left:5,height:s.$el.outerHeight()});o.find(".resize-handle").remove();var n=e.$el.clone().appendTo(i.helper).css({position:"absolute",top:"0",width:e.$el.outerWidth()+"px",right:5,height:e.$el.outerHeight()+"px"});n.find(".resize-handle").remove(),l(this).data({newCellClone:o,prevCellClone:n})}},drag:function(i,o){var n=s.row.$el.width()+10,r=s.model.get("weight")-(o.position.left+t.outerWidth()/2)/n,a=e.model.get("weight")+(o.position.left+t.outerWidth()/2)/n;l(this).data("newCellClone").css("width",n*r+"px").find(".preview-cell-weight").html(Math.round(1e3*r)/10),l(this).data("prevCellClone").css("width",n*a+"px").find(".preview-cell-weight").html(Math.round(1e3*a)/10)},stop:function(i,o){l(this).data("newCellClone").remove(),l(this).data("prevCellClone").remove();var n=s.row.$el.width()+10,r=s.model.get("weight")-(o.position.left+t.outerWidth()/2)/n,a=e.model.get("weight")+(o.position.left+t.outerWidth()/2)/n;r>.02&&a>.02&&(s.row.builder.addHistoryEntry("cell_resized"),s.model.set("weight",r),e.model.set("weight",a),s.row.resizeRow()),o.helper.css("left",-t.outerWidth()/2+"px"),s.row.builder.model.refreshPanelsData()}}),this},onAddWidget:function(e,t,i){i=_.extend({noAnimate:!1},i);var l=new s.view.widget({model:e});l.cell=this,_.isUndefined(e.isDuplicate)&&(e.isDuplicate=!1),l.render({loadForm:e.isDuplicate}),_.isUndefined(i.at)||t.length<=1?l.$el.appendTo(this.$(".widgets-container")):l.$el.insertAfter(this.$(".widgets-container .so-widget").eq(i.at-1)),!1===i.noAnimate&&l.visualCreate(),this.refreshSortable(),this.row.resizeRow(),this.row.builder.trigger("widget_added",l)},handleCellClick:function(e){this.row.builder.$el.find(".so-cells .cell").removeClass("cell-selected"),this.row.builder.activeCell!==this||this.model.get("widgets").length?(this.$el.addClass("cell-selected"),this.row.builder.activeCell=this):this.row.builder.activeCell=null},pasteHandler:function(){var e=s.helpers.clipboard.getModel("widget-model");!_.isEmpty(e)&&e instanceof s.model.widget&&(this.row.builder.addHistoryEntry("widget_pasted"),e.cell=this.model,this.model.get("widgets").add(e),this.row.builder.model.refreshPanelsData())},buildContextualMenu:function(e,t){var i=this;t.hasSection("add-widget-below")||t.addSection("add-widget-cell",{sectionTitle:panelsOptions.loc.contextual.add_widget_cell,searchPlaceholder:panelsOptions.loc.contextual.search_widgets,defaultDisplay:panelsOptions.contextual.default_widgets},panelsOptions.widgets,(function(e){i.row.builder.trigger("before_user_adds_widget"),i.row.builder.addHistoryEntry("widget_added");var t=new s.model.widget({class:e});t.cell=i.model,t.cell.get("widgets").add(t),i.row.builder.model.refreshPanelsData(),i.row.builder.trigger("after_user_adds_widget",t)}));var l={};this.row.builder.supports("addWidget")&&s.helpers.clipboard.isModel("widget-model")&&(l.paste={title:panelsOptions.loc.contextual.cell_paste_widget}),_.isEmpty(l)||t.addSection("cell-actions",{sectionTitle:panelsOptions.loc.contextual.cell_actions,search:!1},l,function(e){switch(e){case"paste":this.pasteHandler()}this.row.builder.model.refreshPanelsData()}.bind(this)),this.row.buildContextualMenu(e,t)}})},{}],27:[function(e,t,i){var s=window.panels,l=jQuery;t.exports=Backbone.View.extend({dialogTemplate:_.template(s.helpers.utils.processTemplate(l("#siteorigin-panels-dialog").html())),dialogTabTemplate:_.template(s.helpers.utils.processTemplate(l("#siteorigin-panels-dialog-tab").html())),tabbed:!1,rendered:!1,builder:!1,className:"so-panels-dialog-wrapper",dialogClass:"",dialogIcon:"",parentDialog:!1,dialogOpen:!1,editableLabel:!1,events:{"click .so-close":"closeDialog","keyup .so-close":function(e){s.helpers.accessibility.triggerClickOnEnter(e)},"click .so-nav.so-previous":"navToPrevious","keyup .so-nav.so-previous":function(e){s.helpers.accessibility.triggerClickOnEnter(e)},"click .so-nav.so-next":"navToNext","keyup .so-nav.so-next":function(e){s.helpers.accessibility.triggerClickOnEnter(e)}},initialize:function(){this.once("open_dialog",this.render),this.once("open_dialog",this.attach),this.once("open_dialog",this.setDialogClass),this.trigger("initialize_dialog",this),_.isUndefined(this.initializeDialog)||this.initializeDialog(),_.bindAll(this,"initSidebars","hasSidebar","onResize","toggleLeftSideBar","toggleRightSideBar")},getNextDialog:function(){return null},getPrevDialog:function(){return null},setDialogClass:function(){""!==this.dialogClass&&this.$(".so-panels-dialog").addClass(this.dialogClass)},setBuilder:function(e){return this.builder=e,e.trigger("add_dialog",this,this.builder),this},attach:function(){return this.$el.appendTo("body"),this},parseDialogContent:function(e,t){t=_.extend({cid:this.cid},t);var i=l(_.template(s.helpers.utils.processTemplate(e))(t)),o={title:i.find(".title").html(),buttons:i.find(".buttons").html(),content:i.find(".content").html()};return i.has(".left-sidebar")&&(o.left_sidebar=i.find(".left-sidebar").html()),i.has(".right-sidebar")&&(o.right_sidebar=i.find(".right-sidebar").html()),o},renderDialog:function(e){if(e=_.extend({editableLabel:this.editableLabel,dialogIcon:this.dialogIcon},e),this.$el.html(this.dialogTemplate(e)).hide(),this.$el.data("view",this),this.$el.addClass("so-panels-dialog-wrapper"),!1!==this.parentDialog){var t=l('<h3 class="so-parent-link"></h3>').html(this.parentDialog.text+'<div class="so-separator"></div>');t.on("click",function(e){e.preventDefault(),this.closeDialog(),this.parentDialog.dialog.openDialog()}.bind(this)),this.$(".so-title-bar .so-title").before(t)}return this.$(".so-title-bar .so-title-editable").length&&this.initEditableLabel(),setTimeout(this.initSidebars,1),this},initSidebars:function(){var e=this.$(".so-show-left-sidebar").hide(),t=this.$(".so-show-right-sidebar").hide(),i=this.hasSidebar("left"),s=this.hasSidebar("right");(i||s)&&(l(window).on("resize",this.onResize),i&&(e.show(),e.on("click",this.toggleLeftSideBar)),s&&(t.show(),t.on("click",this.toggleRightSideBar))),this.onResize()},initTabs:function(){var e=this.$(".so-sidebar-tabs li a");if(0===e.length)return this;var t=this;return e.on("click",(function(e){e.preventDefault();var i=l(this);t.$(".so-sidebar-tabs li").removeClass("tab-active"),t.$(".so-content .so-content-tabs > *").hide(),i.parent().addClass("tab-active");var s=i.attr("href");if(!_.isUndefined(s)&&"#"===s.charAt(0)){var o=s.split("#")[1];t.$(".so-content .so-content-tabs .tab-"+o).show()}t.trigger("tab_click",i)})),this.$(".so-sidebar-tabs li a").first().trigger("click"),this},initToolbar:function(){this.$(".so-toolbar .so-buttons .so-toolbar-button").on("click keyup",function(e){e.preventDefault(),"keyup"==e.type&&13!=e.which||this.trigger("button_click",l(e.currentTarget))}.bind(this)),this.$(".so-toolbar .so-buttons .so-dropdown-button").on("click",function(e){e.preventDefault();var t=l(e.currentTarget).siblings(".so-dropdown-links-wrapper");t.is(".hidden")?t.removeClass("hidden"):t.addClass("hidden")}.bind(this)),l("html").on("click",function(e){this.$(".so-dropdown-links-wrapper").not(".hidden").each((function(t,i){var s=l(i),o=l(e.target);0!==o.length&&(o.is(".so-needs-confirm")&&!o.is(".so-confirmed")||o.is(".so-dropdown-button"))||s.addClass("hidden")}))}.bind(this))},initEditableLabel:function(){var e=this.$(".so-title-bar .so-title-editable");e.on("keypress",(function(t){var i="keypress"===t.type&&13===t.keyCode;if(i){var s=l(":tabbable"),o=s.index(e);s.eq(o+1).trigger("focus"),window.getSelection().removeAllRanges()}return!i})).on("blur",function(){var t=e.text().replace(/^\s+|\s+$/gm,"");t!==e.data("original-value").replace(/^\s+|\s+$/gm,"")&&(e.text(t),this.trigger("edit_label",t))}.bind(this)).on("focus",(function(){e.data("original-value",e.text()),s.helpers.utils.selectElementContents(this)}))},setupDialog:function(){this.openDialog(),this.closeDialog()},refreshDialogNav:function(){this.$(".so-title-bar .so-nav").show().removeClass("so-disabled");var e=this.getNextDialog(),t=this.$(".so-title-bar .so-next"),i=this.getPrevDialog(),s=this.$(".so-title-bar .so-previous");null===e?t.hide():!1===e?(t.addClass("so-disabled"),t.attr("tabindex",-1)):t.attr("tabindex",0),null===i?s.hide():!1===i?(s.addClass("so-disabled"),s.attr("tabindex",-1)):s.attr("tabindex",0)},openDialog:function(e){(e=_.extend({silent:!1},e)).silent||this.trigger("open_dialog"),this.dialogOpen=!0,this.refreshDialogNav(),s.helpers.pageScroll.lock(),this.onResize(),this.$el.show(),e.silent||(this.trigger("open_dialog_complete"),this.builder.trigger("open_dialog",this),l(document).trigger("open_dialog",this))},closeDialog:function(e){(e=_.extend({silent:!1},e)).silent||this.trigger("close_dialog"),this.dialogOpen=!1,this.$el.hide(),s.helpers.pageScroll.unlock(),e.silent||(this.trigger("close_dialog_complete"),this.builder.trigger("close_dialog",this))},navToPrevious:function(){this.closeDialog();var e=this.getPrevDialog();null!==e&&!1!==e&&e.openDialog()},navToNext:function(){this.closeDialog();var e=this.getNextDialog();null!==e&&!1!==e&&e.openDialog()},getFormValues:function(e){_.isUndefined(e)&&(e=".so-content");var t,i=this.$(e),s={};return i.find("[name]").each((function(){var e=l(this);try{var i=/([A-Za-z_]+)\[(.*)\]/.exec(e.attr("name"));if(_.isEmpty(i))return!0;_.isUndefined(i[2])?t=e.attr("name"):(t=i[2].split("][")).unshift(i[1]),t=t.map((function(e){return!isNaN(parseFloat(e))&&isFinite(e)?parseInt(e):e}));var o=s,n=null,r=!!_.isString(e.attr("type"))&&e.attr("type").toLowerCase();if("checkbox"===r)n=e.is(":checked")?""===e.val()||e.val():null;else if("radio"===r){if(!e.is(":checked"))return;n=e.val()}else if("SELECT"===e.prop("tagName")){var a=e.find("option:selected");1===a.length?n=e.find("option:selected").val():a.length>1&&(n=_.map(e.find("option:selected"),(function(e,t){return l(e).val()})))}else n=e.val();if(!_.isUndefined(e.data("panels-filter")))switch(e.data("panels-filter")){case"json_parse":try{n=JSON.parse(n)}catch(e){n=""}}if(null!==n)for(var d=0;d<t.length;d++)d===t.length-1?""===t[d]?o.push(n):o[t[d]]=n:(_.isUndefined(o[t[d]])&&(""===t[d+1]?o[t[d]]=[]:o[t[d]]={}),o=o[t[d]])}catch(t){console.log("Field ["+e.attr("name")+"] could not be processed and was skipped - "+t.message)}})),s},setStatusMessage:function(e,t,i){var s=i?'<span class="dashicons dashicons-warning"></span>'+e:e;this.$(".so-toolbar .so-status").html(s),!_.isUndefined(t)&&t?this.$(".so-toolbar .so-status").addClass("so-panels-loading"):this.$(".so-toolbar .so-status").removeClass("so-panels-loading")},setParent:function(e,t){this.parentDialog={text:e,dialog:t}},onResize:function(){var e=window.matchMedia("(max-width: 980px)");["left","right"].forEach(function(t){var i=this.$(".so-"+t+"-sidebar"),s=this.$(".so-show-"+t+"-sidebar");this.hasSidebar(t)?(s.hide(),e.matches?(s.show(),s.closest(".so-title-bar").addClass("so-has-"+t+"-button"),i.hide(),i.closest(".so-panels-dialog").removeClass("so-panels-dialog-has-"+t+"-sidebar")):(s.hide(),s.closest(".so-title-bar").removeClass("so-has-"+t+"-button"),i.show(),i.closest(".so-panels-dialog").addClass("so-panels-dialog-has-"+t+"-sidebar"))):(i.hide(),s.hide())}.bind(this))},hasSidebar:function(e){return this.$(".so-"+e+"-sidebar").children().length>0},toggleLeftSideBar:function(){this.toggleSidebar("left")},toggleRightSideBar:function(){this.toggleSidebar("right")},toggleSidebar:function(e){var t=this.$(".so-"+e+"-sidebar");t.is(":visible")?t.hide():t.show()}})},{}],28:[function(e,t,i){var s=window.panels,l=jQuery;t.exports=Backbone.View.extend({template:_.template(s.helpers.utils.processTemplate(l("#siteorigin-panels-live-editor").html())),previewScrollTop:0,loadTimes:[],previewFrameId:1,previewUrl:null,previewIframe:null,events:{"click .live-editor-close":"close","click .live-editor-save":"closeAndSave","click .live-editor-collapse":"collapse","click .live-editor-mode":"mobileToggle","keyup .live-editor-mode":function(e){s.helpers.accessibility.triggerClickOnEnter(e)}},initialize:function(e){e=_.extend({builder:!1,previewUrl:!1},e),_.isEmpty(e.previewUrl)&&(e.previewUrl=panelsOptions.ajaxurl+"&action=so_panels_live_editor_preview"),this.builder=e.builder,this.previewUrl=e.previewUrl,this.listenTo(this.builder.model,"refresh_panels_data",this.handleRefreshData),this.listenTo(this.builder.model,"load_panels_data",this.handleLoadData)},render:function(){if(this.setElement(this.template()),this.$el.hide(),l("#submitdiv #save-post").length>0){var e=this.$el.find(".live-editor-save");e.text(e.data("save"))}var t=!1;l(document).on("mousedown",(function(){t=!0})).on("mouseup",(function(){t=!1}));var i=this;return this.$el.on("mouseenter focusin",".so-widget",(function(){var e=l(this).data("live-editor-preview-widget");t||void 0===e||!e.length||i.$(".so-preview-overlay").is(":visible")||(i.highlightElement(e),i.scrollToElement(e))})),this.$el.on("mouseleave focusout",".so-widget",function(){this.resetHighlights()}.bind(this)),this.listenTo(this.builder,"open_dialog",(function(){this.resetHighlights()})),this},attach:function(){this.$el.appendTo("body")},open:function(){if(""===this.$el.html()&&this.render(),0===this.$el.closest("body").length&&this.attach(),s.helpers.pageScroll.lock(),this.$el.is(":visible"))return this;if(this.$el.show(),this.refreshPreview(this.builder.model.getPanelsData()),l(".live-editor-close").trigger("focus"),this.originalContainer=this.builder.$el.parent(),this.builder.$el.appendTo(this.$(".so-live-editor-builder")),this.builder.$(".so-tool-button.so-live-editor").hide(),this.builder.trigger("builder_resize"),"auto-draft"===l("#original_post_status").val()&&!this.autoSaved){var e=this;wp.autosave&&(""===l('#title[name="post_title"]').val()&&l('#title[name="post_title"]').val(panelsOptions.loc.draft).trigger("keydown"),l(document).one("heartbeat-tick.autosave",(function(){e.autoSaved=!0,e.refreshPreview(e.builder.model.getPanelsData())})),wp.autosave.server.triggerSave())}},close:function(){if(!this.$el.is(":visible"))return this;this.$el.hide(),s.helpers.pageScroll.unlock(),this.builder.$el.appendTo(this.originalContainer),this.builder.$(".so-tool-button.so-live-editor").show(),this.builder.trigger("builder_resize")},closeAndSave:function(){this.close(),l('#submitdiv input[type="submit"][name="save"]').trigger("click")},collapse:function(){this.$el.toggleClass("so-collapsed")},highlightElement:function(e){_.isUndefined(this.resetHighlightTimeout)||clearTimeout(this.resetHighlightTimeout),this.previewIframe.contents().find("body").find(".panel-grid .panel-grid-cell .so-panel").filter((function(){return 0===l(this).parents(".so-panel").length})).not(e).addClass("so-panels-faded"),e.removeClass("so-panels-faded").addClass("so-panels-highlighted")},resetHighlights:function(){var e=this.previewIframe.contents().find("body");this.resetHighlightTimeout=setTimeout((function(){e.find(".panel-grid .panel-grid-cell .so-panel").removeClass("so-panels-faded so-panels-highlighted")}),100)},scrollToElement:function(e){this.$(".so-preview iframe")[0].contentWindow.liveEditorScrollTo(e)},handleRefreshData:function(e){if(!this.$el.is(":visible"))return this;this.refreshPreview(e)},handleLoadData:function(){if(!this.$el.is(":visible"))return this;this.refreshPreview(this.builder.model.getPanelsData())},refreshPreview:function(e){var t=this.loadTimes.length?_.reduce(this.loadTimes,(function(e,t){return e+t}),0)/this.loadTimes.length:1e3;_.isNull(this.previewIframe)||this.$(".so-preview-overlay").is(":visible")||(this.previewScrollTop=this.previewIframe.contents().scrollTop()),this.$(".so-preview-overlay").show(),this.$(".so-preview-overlay .so-loading-bar").clearQueue().css("width","0%").animate({width:"100%"},parseInt(t)+100),this.postToIframe({live_editor_panels_data:JSON.stringify(e),live_editor_post_ID:this.builder.config.postId},this.previewUrl,this.$(".so-preview")),this.previewIframe.data("load-start",(new Date).getTime())},postToIframe:function(e,t,i){_.isNull(this.previewIframe)||this.previewIframe.remove();var s="siteorigin-panels-live-preview-"+this.previewFrameId;this.previewIframe=l('<iframe src="'+t+'"></iframe>').attr({id:s,name:s}).appendTo(i),this.setupPreviewFrame(this.previewIframe);var o=l('<form id="soPostToPreviewFrame" method="post"></form>').attr({id:s,target:this.previewIframe.attr("id"),action:t}).appendTo("body");return l.each(e,(function(e,t){l('<input type="hidden" />').attr({name:e,value:t}).appendTo(o)})),o.trigger("submit").remove(),this.previewFrameId++,this.previewIframe},setupPreviewFrame:function(e){var t=this;e.data("iframeready",!1).on("iframeready",(function(){var e=l(this),i=e.contents();if(!e.data("iframeready")){e.data("iframeready",!0),void 0!==e.data("load-start")&&(t.loadTimes.unshift((new Date).getTime()-e.data("load-start")),_.isEmpty(t.loadTimes)||(t.loadTimes=t.loadTimes.slice(0,4))),l(".live-editor-mode.so-active").length&&(l(".so-panels-live-editor .so-preview iframe").css("transition","none"),t.mobileToggle()),setTimeout((function(){i.scrollTop(t.previewScrollTop),t.$(".so-preview-overlay").hide(),l(".so-panels-live-editor .so-preview iframe").css("transition","all .2s ease")}),100);var s=i.find("#pl-"+t.builder.config.postId);s.find(".panel-grid .panel-grid-cell .so-panel").filter((function(){return l(this).closest(".panel-layout").is(s)})).each((function(e,i){var s=l(i),o=t.$(".so-live-editor-builder .so-widget").eq(s.data("index"));o.data("live-editor-preview-widget",s),s.css({cursor:"pointer"}).on("mouseenter",(function(){o.parent().addClass("so-hovered"),t.highlightElement(s)})).on("mouseleave",(function(){o.parent().removeClass("so-hovered"),t.resetHighlights()})).on("click",(function(e){e.preventDefault(),o.find(".title h4").trigger("click")}))})),i.find("a").css({"pointer-events":"none"}).on("click",(function(e){e.preventDefault()}))}})).on("load",(function(){var e=l(this);e.data("iframeready")||e.trigger("iframeready")}))},hasPreviewUrl:function(){return""!==this.$("form.live-editor-form").attr("action")},mobileToggle:function(e){var t=l(void 0!==e?e.currentTarget:".live-editor-mode.so-active");this.$(".live-editor-mode").not(t).removeClass("so-active"),t.addClass("so-active"),this.$el.removeClass("live-editor-desktop-mode live-editor-tablet-mode live-editor-mobile-mode").addClass("live-editor-"+t.data("mode")+"-mode").find("iframe").css("width",t.data("width"))}})},{}],29:[function(e,t,i){var s=window.panels,l=jQuery;t.exports=Backbone.View.extend({template:_.template(s.helpers.utils.processTemplate(l("#siteorigin-panels-builder-row").html())),events:{"click .so-row-settings":"editSettingsHandler","click .so-row-duplicate":"duplicateHandler","click .so-row-delete":"confirmedDeleteHandler","click .so-row-color":"rowColorChangeHandler"},builder:null,dialog:null,initialize:function(){var e=this.model.get("cells");this.listenTo(e,"add",this.handleCellAdd),this.listenTo(e,"remove",this.handleCellRemove),this.listenTo(this.model,"reweight_cells",this.resizeRow),this.listenTo(this.model,"destroy",this.onModelDestroy);var t=this;e.each((function(e){t.listenTo(e.get("widgets"),"add",t.resize)})),e.on("add",(function(e){t.listenTo(e.get("widgets"),"add",t.resize)}),this),this.listenTo(this.model,"change:label",this.onLabelChange)},render:function(){var e=this.model.has("color_label")?this.model.get("color_label"):1,t=this.model.has("label")?this.model.get("label"):"";this.setElement(this.template({rowColorLabel:e,rowLabel:t})),this.$el.data("view",this);var i=this;return this.model.get("cells").each((function(e){var t=new s.view.cell({model:e});t.row=i,t.render(),t.$el.appendTo(i.$(".so-cells"))})),this.builder.supports("rowAction")?(this.builder.supports("editRow")||(this.$(".so-row-toolbar .so-dropdown-links-wrapper .so-row-settings").parent().remove(),this.$el.addClass("so-row-no-edit")),this.builder.supports("addRow")||(this.$(".so-row-toolbar .so-dropdown-links-wrapper .so-row-duplicate").parent().remove(),this.$el.addClass("so-row-no-duplicate")),this.builder.supports("deleteRow")||(this.$(".so-row-toolbar .so-dropdown-links-wrapper .so-row-delete").parent().remove(),this.$el.addClass("so-row-no-delete"))):(this.$(".so-row-toolbar .so-dropdown-wrapper").remove(),this.$el.addClass("so-row-no-actions")),this.builder.supports("moveRow")||(this.$(".so-row-toolbar .so-row-move").remove(),this.$el.addClass("so-row-no-move")),this.$(".so-row-toolbar").html().trim().length||this.$(".so-row-toolbar").remove(),this.listenTo(this.builder,"widget_sortable_move",this.resizeRow),this.listenTo(this.builder,"builder_resize",this.resizeRow),this.resizeRow(),this},visualCreate:function(){this.$el.hide().fadeIn("fast")},resizeRow:function(e){if(this.$el.is(":visible")){this.$(".so-cells .cell-wrapper").css("min-height",0),this.$(".so-cells .resize-handle").css("height",0);var t=0;this.$(".so-cells .cell").each((function(){t=Math.max(t,l(this).height()),l(this).css("width",100*l(this).data("view").model.get("weight")+"%")})),this.$(".so-cells .cell-wrapper").css("min-height",Math.max(t,63)+"px"),this.$(".so-cells .resize-handle").css("height",this.$(".so-cells .cell-wrapper").outerHeight()+"px")}},onModelDestroy:function(){this.remove()},visualDestroyModel:function(){this.builder.addHistoryEntry("row_deleted");var e=this;this.$el.fadeOut("normal",(function(){e.model.destroy(),e.builder.model.refreshPanelsData()}))},onLabelChange:function(e,t){0==this.$(".so-row-label").length?this.$(".so-row-toolbar").prepend('<h3 class="so-row-label">'+t+"</h3>"):this.$(".so-row-label").text(t)},duplicateHandler:function(){this.builder.addHistoryEntry("row_duplicated");var e=this.model.clone(this.builder.model);this.builder.model.get("rows").add(e,{at:this.builder.model.get("rows").indexOf(this.model)+1}),this.builder.model.refreshPanelsData()},copyHandler:function(){s.helpers.clipboard.setModel(this.model)},pasteHandler:function(){var e=s.helpers.clipboard.getModel("row-model");!_.isEmpty(e)&&e instanceof s.model.row&&(this.builder.addHistoryEntry("row_pasted"),e.builder=this.builder.model,this.builder.model.get("rows").add(e,{at:this.builder.model.get("rows").indexOf(this.model)+1}),this.builder.model.refreshPanelsData())},confirmedDeleteHandler:function(e){var t=l(e.target);if(t.hasClass("dashicons")&&(t=t.parent()),t.hasClass("so-confirmed"))this.visualDestroyModel();else{var i=t.html();t.addClass("so-confirmed").html('<span class="dashicons dashicons-yes"></span>'+panelsOptions.loc.dropdown_confirm),setTimeout((function(){t.removeClass("so-confirmed").html(i)}),2500)}},editSettingsHandler:function(){if(this.builder.supports("editRow"))return null===this.dialog&&(this.dialog=new s.dialog.row,this.dialog.setBuilder(this.builder).setRowModel(this.model),this.dialog.rowView=this),this.dialog.openDialog(),this},deleteHandler:function(){return this.model.destroy(),this},rowColorChangeHandler:function(e){this.$(".so-row-color").removeClass("so-row-color-selected");var t=l(e.target),i=t.data("color-label"),s=this.model.has("color_label")?this.model.get("color_label"):1;t.addClass("so-row-color-selected"),this.$el.removeClass("so-row-color-"+s),this.$el.addClass("so-row-color-"+i),this.model.set("color_label",i)},handleCellAdd:function(e){var t=new s.view.cell({model:e});t.row=this,t.render(),t.$el.appendTo(this.$(".so-cells"))},handleCellRemove:function(e){this.$(".so-cells > .cell").each((function(){var t=l(this).data("view");_.isUndefined(t)||t.model.cid===e.cid&&t.remove()}))},buildContextualMenu:function(e,t){for(var i=[],l=1;l<5;l++)i.push({title:l+" "+panelsOptions.loc.contextual.column});this.builder.supports("addRow")&&t.addSection("add-row",{sectionTitle:panelsOptions.loc.contextual.add_row,search:!1},i,function(e){this.builder.addHistoryEntry("row_added");for(var t=Number(e)+1,i=[],l=0;l<t;l++)i.push({weight:100/t});var o=new s.model.row({collection:this.collection}),n=new s.collection.cells(i);n.each((function(e){e.row=o})),o.setCells(n),o.builder=this.builder.model,this.builder.model.get("rows").add(o,{at:this.builder.model.get("rows").indexOf(this.model)+1}),this.builder.model.refreshPanelsData()}.bind(this));var o={};this.builder.supports("editRow")&&(o.edit={title:panelsOptions.loc.contextual.row_edit}),s.helpers.clipboard.canCopyPaste()&&(o.copy={title:panelsOptions.loc.contextual.row_copy},this.builder.supports("addRow")&&s.helpers.clipboard.isModel("row-model")&&(o.paste={title:panelsOptions.loc.contextual.row_paste})),this.builder.supports("addRow")&&(o.duplicate={title:panelsOptions.loc.contextual.row_duplicate}),this.builder.supports("deleteRow")&&(o.delete={title:panelsOptions.loc.contextual.row_delete,confirm:!0}),_.isEmpty(o)||t.addSection("row-actions",{sectionTitle:panelsOptions.loc.contextual.row_actions,search:!1},o,function(e){switch(e){case"edit":this.editSettingsHandler();break;case"copy":this.copyHandler();break;case"paste":this.pasteHandler();break;case"duplicate":this.duplicateHandler();break;case"delete":this.visualDestroyModel()}}.bind(this))}})},{}],30:[function(e,t,i){window.panels;var s=jQuery;t.exports=Backbone.View.extend({stylesLoaded:!1,events:{"keyup .so-image-selector":function(e){13==e.which&&this.$el.find(".select-image").trigger("click")}},initialize:function(){},render:function(e,t,i){if(!_.isUndefined(e)){i=_.extend({builderType:"",dialog:null},i),this.$el.addClass("so-visual-styles so-"+e+"-styles so-panels-loading");var l={builderType:i.builderType};return"cell"===e&&(l.index=i.index),s.post(panelsOptions.ajaxurl,{action:"so_panels_style_form",type:e,style:this.model.get("style"),args:JSON.stringify(l),postId:t},null,"html").done(function(e){this.$el.html(e),this.setupFields(),this.stylesLoaded=!0,this.trigger("styles_loaded",!_.isEmpty(e)),_.isNull(i.dialog)||i.dialog.trigger("styles_loaded",!_.isEmpty(e))}.bind(this)).fail(function(e){var t;t=e&&e.responseText?e.responseText:panelsOptions.forms.loadingFailed,this.$el.html(t)}.bind(this)).always(function(){this.$el.removeClass("so-panels-loading")}.bind(this)),this}},attach:function(e){e.append(this.$el)},detach:function(){this.$el.detach()},setupFields:function(){this.$(".style-section-wrapper").each((function(){var e=s(this);e.find(".style-section-head").on("click keypress",(function(t){t.preventDefault(),e.find(".style-section-fields").slideToggle("fast")}))})),_.isUndefined(s.fn.wpColorPicker)||(_.isObject(panelsOptions.wpColorPickerOptions.palettes)&&!s.isArray(panelsOptions.wpColorPickerOptions.palettes)&&(panelsOptions.wpColorPickerOptions.palettes=s.map(panelsOptions.wpColorPickerOptions.palettes,(function(e){return e}))),this.$(".so-wp-color-field").wpColorPicker(panelsOptions.wpColorPickerOptions)),this.$(".style-field-image").each((function(){var e=null,t=s(this);t.find(".so-image-selector").on("click",(function(i){i.preventDefault(),null===e&&(e=wp.media({title:"choose",library:{type:"image"},button:{text:"Done",close:!0}})).on("select",(function(){var i=e.state().get("selection").first().attributes,s=i.url;if(!_.isUndefined(i.sizes))try{s=i.sizes.thumbnail.url}catch(e){s=i.sizes.full.url}t.find(".current-image").css("background-image","url("+s+")"),t.find(".so-image-selector > input").val(i.id),t.find(".remove-image").removeClass("hidden")})),s(this).next().focus(),e.open()})),t.find(".remove-image").on("click",(function(e){e.preventDefault(),t.find(".current-image").css("background-image","none"),t.find(".so-image-selector > input").val(""),t.find(".remove-image").addClass("hidden")}))})),this.$(".style-field-measurement").each((function(){var e=s(this),t=e.find('input[type="text"]'),i=e.find("select"),l=e.find('input[type="hidden"]');t.on("focus",(function(){s(this).trigger("select")}));!function(e){if(""!==e){var o=/(?:([0-9\.,\-]+)(.*))+/,n=l.val().split(" "),r=[];for(var a in n){var d=o.exec(n[a]);_.isNull(d)||_.isUndefined(d[1])||_.isUndefined(d[2])||(r.push(d[1]),i.val(d[2]))}1===t.length?t.val(r.join(" ")):(1===r.length?r=[r[0],r[0],r[0],r[0]]:2===r.length?r=[r[0],r[1],r[0],r[1]]:3===r.length&&(r=[r[0],r[1],r[2],r[1]]),t.each((function(e,t){s(t).val(r[e])})))}}(l.val());var o=function(e){if(1===t.length){var o=t.val().split(" ").filter((function(e){return""!==e})).map((function(e){return e+i.val()})).join(" ");l.val(o)}else{var n=s(e.target),r=[],a=[],d=[];t.each((function(e,t){var i=""!==s(t).val()?parseFloat(s(t).val()):null;r.push(i),null===i?a.push(e):d.push(e)})),3===a.length&&d[0]===t.index(n)&&(t.val(n.val()),r=[n.val(),n.val(),n.val(),n.val()]),JSON.stringify(r)===JSON.stringify([null,null,null,null])?l.val(""):l.val(r.map((function(e){return(null===e?0:e)+i.val()})).join(" "))}};t.on("change",o),i.on("change",o)}))}})},{}],31:[function(e,t,i){var s=window.panels,l=jQuery;t.exports=Backbone.View.extend({template:_.template(s.helpers.utils.processTemplate(l("#siteorigin-panels-builder-widget").html())),cell:null,dialog:null,events:{"click .widget-edit":"editHandler","touchend .widget-edit":"editHandler","click .title h4":"editHandler","touchend .title h4":"editHandler","click .actions .widget-duplicate":"duplicateHandler","click .actions .widget-delete":"deleteHandler","keyup .actions a":function(e){s.helpers.accessibility.triggerClickOnEnter(e)}},initialize:function(){this.listenTo(this.model,"destroy",this.onModelDestroy),this.listenTo(this.model,"change:values",this.onModelChange),this.listenTo(this.model,"change:label",this.onLabelChange)},render:function(e){if(e=_.extend({loadForm:!1},e),this.setElement(this.template({title:this.model.getWidgetField("title"),description:this.model.getTitle(),widget_class:this.model.attributes.class})),this.$el.data("view",this),this.cell.row.builder.supports("editWidget")&&!this.model.get("read_only")||(this.$(".actions .widget-edit").remove(),this.$el.addClass("so-widget-no-edit")),this.cell.row.builder.supports("addWidget")||(this.$(".actions .widget-duplicate").remove(),this.$el.addClass("so-widget-no-duplicate")),this.cell.row.builder.supports("deleteWidget")||(this.$(".actions .widget-delete").remove(),this.$el.addClass("so-widget-no-delete")),this.cell.row.builder.supports("moveWidget")||this.$el.addClass("so-widget-no-move"),this.$(".actions").html().trim().length||this.$(".actions").remove(),this.model.get("read_only")&&this.$el.addClass("so-widget-read-only"),0===_.size(this.model.get("values"))||e.loadForm){var t=this.getEditDialog();t.once("form_loaded",t.saveWidget,t),t.setupDialog()}return this.listenTo(this.cell.row.builder,"after_user_adds_widget",this.afterUserAddsWidgetHandler),this},visualCreate:function(){this.$el.hide().fadeIn("fast")},getEditDialog:function(){return null===this.dialog&&(this.dialog=new s.dialog.widget({model:this.model}),this.dialog.setBuilder(this.cell.row.builder),this.dialog.widgetView=this),this.dialog},editHandler:function(){return!this.cell.row.builder.supports("editWidget")||this.model.get("read_only")?this:(this.getEditDialog().openDialog(),this)},duplicateHandler:function(){this.cell.row.builder.addHistoryEntry("widget_duplicated");var e=this.model.clone(this.model.cell);return this.cell.model.get("widgets").add(e,{at:this.model.collection.indexOf(this.model)+1}),this.cell.row.builder.model.refreshPanelsData(),this},copyHandler:function(){s.helpers.clipboard.setModel(this.model)},deleteHandler:function(){return this.visualDestroyModel(),this},onModelChange:function(){this.$(".description").html(this.model.getTitle())},onLabelChange:function(e){this.$(".title > h4").text(e.getWidgetField("title"))},onModelDestroy:function(){this.remove()},visualDestroyModel:function(){return this.cell.row.builder.addHistoryEntry("widget_deleted"),this.$el.fadeOut("fast",function(){this.cell.row.resizeRow(),this.model.destroy(),this.cell.row.builder.model.refreshPanelsData(),this.remove()}.bind(this)),this},buildContextualMenu:function(e,t){this.cell.row.builder.supports("addWidget")&&t.addSection("add-widget-below",{sectionTitle:panelsOptions.loc.contextual.add_widget_below,searchPlaceholder:panelsOptions.loc.contextual.search_widgets,defaultDisplay:panelsOptions.contextual.default_widgets},panelsOptions.widgets,function(e){this.cell.row.builder.trigger("before_user_adds_widget"),this.cell.row.builder.addHistoryEntry("widget_added");var t=new s.model.widget({class:e});t.cell=this.cell.model,this.cell.model.get("widgets").add(t,{at:this.model.collection.indexOf(this.model)+1}),this.cell.row.builder.model.refreshPanelsData(),this.cell.row.builder.trigger("after_user_adds_widget",t)}.bind(this));var i={};this.cell.row.builder.supports("editWidget")&&!this.model.get("read_only")&&(i.edit={title:panelsOptions.loc.contextual.widget_edit}),s.helpers.clipboard.canCopyPaste()&&(i.copy={title:panelsOptions.loc.contextual.widget_copy}),this.cell.row.builder.supports("addWidget")&&(i.duplicate={title:panelsOptions.loc.contextual.widget_duplicate}),this.cell.row.builder.supports("deleteWidget")&&(i.delete={title:panelsOptions.loc.contextual.widget_delete,confirm:!0}),_.isEmpty(i)||t.addSection("widget-actions",{sectionTitle:panelsOptions.loc.contextual.widget_actions,search:!1},i,function(e){switch(e){case"edit":this.editHandler();break;case"copy":this.copyHandler();break;case"duplicate":this.duplicateHandler();break;case"delete":this.visualDestroyModel()}}.bind(this)),this.cell.buildContextualMenu(e,t)},afterUserAddsWidgetHandler:function(e){this.model===e&&panelsOptions.instant_open&&setTimeout(this.editHandler.bind(this),350)}})},{}],32:[function(e,t,i){var s=jQuery,l={addWidget:function(e,t,i){var l=wp.customHtmlWidgets,o=s("<div></div>"),n=t.find(".widget-content:first");n.before(o);var r=new l.CustomHtmlWidgetControl({el:o,syncContainer:n});return r.initializeEditor(),r.editor.codemirror.refresh(),r}};t.exports=l},{}],33:[function(e,t,i){var s=e("./custom-html-widget"),l=e("./media-widget"),o=e("./text-widget"),n={CUSTOM_HTML:"custom_html",MEDIA_AUDIO:"media_audio",MEDIA_GALLERY:"media_gallery",MEDIA_IMAGE:"media_image",MEDIA_VIDEO:"media_video",TEXT:"text",addWidget:function(e,t){var i,n=e.find("> .id_base").val();switch(n){case this.CUSTOM_HTML:i=s;break;case this.MEDIA_AUDIO:case this.MEDIA_GALLERY:case this.MEDIA_IMAGE:case this.MEDIA_VIDEO:i=l;break;case this.TEXT:i=o}i.addWidget(n,e,t)}};t.exports=n},{"./custom-html-widget":32,"./media-widget":34,"./text-widget":35}],34:[function(e,t,i){var s=jQuery,l={addWidget:function(e,t,i){var l=wp.mediaWidgets,o=l.controlConstructors[e];if(o){var n=l.modelConstructors[e]||l.MediaWidgetModel,r=t.find("> .widget-content"),a=s('<div class="media-widget-control"></div>');r.before(a);var d={};r.find(".media-widget-instance-property").each((function(){var e=s(this);d[e.data("property")]=e.val()})),d.widget_id=i;var c=new o({el:a,syncContainer:r,model:new n(d)});return c.render(),c}}};t.exports=l},{}],35:[function(e,t,i){var s=jQuery,l={addWidget:function(e,t,i){var l=wp.textWidgets,o={},n=t.find(".visual");if(n.length>0){if(!n.val())return null;var r=s("<div></div>"),a=t.find(".widget-content:first");a.before(r),o={el:r,syncContainer:a}}else o={el:t};var d=new l.TextWidgetControl(o),c=wp.oldEditor?wp.oldEditor:wp.editor;return c&&c.hasOwnProperty("autop")&&(wp.editor.autop=c.autop,wp.editor.removep=c.removep,wp.editor.initialize=c.initialize),d.initializeEditor(),d}};t.exports=l},{}]},{},[18]);
js/styling.js CHANGED
@@ -53,9 +53,26 @@ jQuery( function ( $ ) {
53
  $( window ).trigger( 'panelsStretchRows' );
54
  }
55
  }
56
- $( window ).on( 'resize load', stretchFullWidthRows );
57
  stretchFullWidthRows();
58
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
  // This should have been done in the footer, but run it here just incase.
60
  $( 'body' ).removeClass( 'siteorigin-panels-before-js' );
61
 
53
  $( window ).trigger( 'panelsStretchRows' );
54
  }
55
  }
 
56
  stretchFullWidthRows();
57
 
58
+ $( window ).on( 'resize load', function() {
59
+ stretchFullWidthRows();
60
+
61
+ if (
62
+ typeof parallaxStyles != 'undefined' &&
63
+ typeof simpleParallax != 'undefined' &&
64
+ (
65
+ ! parallaxStyles['disable-parallax-mobile'] ||
66
+ ! window.matchMedia( '(max-width: ' + parallaxStyles['mobile-breakpoint'] + ')' ).matches
67
+ )
68
+ ) {
69
+ new simpleParallax( document.querySelectorAll( '[data-siteorigin-parallax], .sow-slider-image-parallax .sow-slider-background-image' ), {
70
+ delay: parallaxStyles['delay'],
71
+ scale: parallaxStyles['scale'] < 1.1 ? 1.1 : parallaxStyles['scale'],
72
+ } );
73
+ }
74
+ } );
75
+
76
  // This should have been done in the footer, but run it here just incase.
77
  $( 'body' ).removeClass( 'siteorigin-panels-before-js' );
78
 
js/styling.min.js CHANGED
@@ -1 +1 @@
1
- jQuery((function(e){var t=function(){var t=e(panelsStyles.fullContainer);0===t.length&&(t=e("body"));var r=e(".siteorigin-panels-stretch.panel-row-style");r.each((function(){var r=e(this),i=r.data("stretch-type"),n="full-stretched-padded"===i?"":0;r.css({"margin-left":0,"margin-right":0,"padding-left":n,"padding-right":n});var l=r.offset().left-t.offset().left,a=t.outerWidth()-l-r.parent().outerWidth();r.css({"margin-left":-l+"px","margin-right":-a+"px","padding-left":"full"===i?l+"px":n,"padding-right":"full"===i?a+"px":n});var d=r.find("> .panel-grid-cell");"full-stretched"===i&&1===d.length&&d.css({"padding-left":0,"padding-right":0}),r.css({"border-left":n,"border-right":n})})),r.length&&e(window).trigger("panelsStretchRows")};e(window).on("resize load",t),t(),e("body").removeClass("siteorigin-panels-before-js")}));
1
+ jQuery((function(e){var a=function(){var a=e(panelsStyles.fullContainer);0===a.length&&(a=e("body"));var l=e(".siteorigin-panels-stretch.panel-row-style");l.each((function(){var l=e(this),t=l.data("stretch-type"),r="full-stretched-padded"===t?"":0;l.css({"margin-left":0,"margin-right":0,"padding-left":r,"padding-right":r});var i=l.offset().left-a.offset().left,n=a.outerWidth()-i-l.parent().outerWidth();l.css({"margin-left":-i+"px","margin-right":-n+"px","padding-left":"full"===t?i+"px":r,"padding-right":"full"===t?n+"px":r});var s=l.find("> .panel-grid-cell");"full-stretched"===t&&1===s.length&&s.css({"padding-left":0,"padding-right":0}),l.css({"border-left":r,"border-right":r})})),l.length&&e(window).trigger("panelsStretchRows")};a(),e(window).on("resize load",(function(){a(),"undefined"==typeof parallaxStyles||"undefined"==typeof simpleParallax||parallaxStyles["disable-parallax-mobile"]&&window.matchMedia("(max-width: "+parallaxStyles["mobile-breakpoint"]+")").matches||new simpleParallax(document.querySelectorAll("[data-siteorigin-parallax], .sow-slider-image-parallax .sow-slider-background-image"),{delay:parallaxStyles.delay,scale:parallaxStyles.scale<1.1?1.1:parallaxStyles.scale})})),e("body").removeClass("siteorigin-panels-before-js")}));
lang/siteorigin-panels.pot CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2020 siteorigin-panels
2
  # This file is distributed under the same license as the siteorigin-panels package.
3
  msgid ""
4
  msgstr ""
@@ -36,15 +36,15 @@ msgstr ""
36
  msgid "https://siteorigin.com"
37
  msgstr ""
38
 
39
- #: siteorigin-panels.php:353
40
  msgid "Read More"
41
  msgstr ""
42
 
43
- #: siteorigin-panels.php:501
44
  msgid "Edit Home Page"
45
  msgstr ""
46
 
47
- #: siteorigin-panels.php:521, tpl/js-templates.php:34, tpl/js-templates.php:36
48
  msgid "Live Editor"
49
  msgstr ""
50
 
@@ -76,7 +76,7 @@ msgstr ""
76
  msgid "(email SiteOrigin support)"
77
  msgstr ""
78
 
79
- #: inc/admin-dashboard.php:95, inc/admin.php:162
80
  msgid "Support Forum"
81
  msgstr ""
82
 
@@ -85,31 +85,31 @@ msgstr ""
85
  msgid "Get Premium"
86
  msgstr ""
87
 
88
- #: inc/admin-layouts.php:40, inc/admin-layouts.php:220
89
  msgid "Layouts Directory"
90
  msgstr ""
91
 
92
- #: inc/admin-layouts.php:184
93
  msgid "Invalid request."
94
  msgstr ""
95
 
96
- #: inc/admin-layouts.php:199
97
  msgid "Theme Defined Layouts"
98
  msgstr ""
99
 
100
- #: inc/admin-layouts.php:270
101
  msgid "Clone %s"
102
  msgstr ""
103
 
104
- #: inc/admin-layouts.php:308
105
  msgid " - Results For:"
106
  msgstr ""
107
 
108
- #: inc/admin-layouts.php:341
109
  msgid "Missing layout ID or no such layout exists"
110
  msgstr ""
111
 
112
- #: inc/admin-layouts.php:387
113
  msgid "There was a problem fetching the layout. Please try again later."
114
  msgstr ""
115
 
@@ -141,7 +141,7 @@ msgstr ""
141
  msgid "WordPress Widgets"
142
  msgstr ""
143
 
144
- #: inc/admin-widget-dialog.php:185, inc/settings.php:359
145
  msgid "Recommended Widgets"
146
  msgstr ""
147
 
@@ -153,371 +153,371 @@ msgstr ""
153
  msgid "Installing %s"
154
  msgstr ""
155
 
156
- #: inc/admin.php:165, tpl/js-templates.php:44
157
  msgid "Addons"
158
  msgstr ""
159
 
160
- #: inc/admin.php:179, inc/admin.php:594, inc/admin.php:1255, inc/admin.php:1260, inc/settings.php:202, tpl/js-templates.php:197
161
  msgid "Page Builder"
162
  msgstr ""
163
 
164
- #: inc/admin.php:334
165
  msgid "All Widgets"
166
  msgstr ""
167
 
168
- #: inc/admin.php:361
169
  msgid "Missing Widget"
170
  msgstr ""
171
 
172
- #: inc/admin.php:362
173
  msgid "Page Builder doesn't know about this widget."
174
  msgstr ""
175
 
176
  #. translators: Number of seconds since
177
- #: inc/admin.php:366
178
  msgid "%d seconds"
179
  msgstr ""
180
 
181
  #. translators: Number of minutes since
182
- #: inc/admin.php:368
183
  msgid "%d minutes"
184
  msgstr ""
185
 
186
  #. translators: Number of hours since
187
- #: inc/admin.php:370
188
  msgid "%d hours"
189
  msgstr ""
190
 
191
  #. translators: A single second since
192
- #: inc/admin.php:373
193
  msgid "%d second"
194
  msgstr ""
195
 
196
  #. translators: A single minute since
197
- #: inc/admin.php:375
198
  msgid "%d minute"
199
  msgstr ""
200
 
201
  #. translators: A single hour since
202
- #: inc/admin.php:377
203
  msgid "%d hour"
204
  msgstr ""
205
 
206
  #. translators: Time ago - eg. "1 minute before".
207
- #: inc/admin.php:380
208
  msgid "%s before"
209
  msgstr ""
210
 
211
- #: inc/admin.php:381
212
  msgid "Now"
213
  msgstr ""
214
 
215
- #: inc/admin.php:385
216
  msgid "Current"
217
  msgstr ""
218
 
219
- #: inc/admin.php:386
220
  msgid "Original"
221
  msgstr ""
222
 
223
- #: inc/admin.php:387
224
  msgid "Version restored"
225
  msgstr ""
226
 
227
- #: inc/admin.php:388
228
  msgid "Converted to editor"
229
  msgstr ""
230
 
231
  #. translators: Message displayed in the history when a widget is deleted
232
- #: inc/admin.php:392
233
  msgid "Widget deleted"
234
  msgstr ""
235
 
236
  #. translators: Message displayed in the history when a widget is added
237
- #: inc/admin.php:394
238
  msgid "Widget added"
239
  msgstr ""
240
 
241
  #. translators: Message displayed in the history when a widget is edited
242
- #: inc/admin.php:396
243
  msgid "Widget edited"
244
  msgstr ""
245
 
246
  #. translators: Message displayed in the history when a widget is duplicated
247
- #: inc/admin.php:398
248
  msgid "Widget duplicated"
249
  msgstr ""
250
 
251
  #. translators: Message displayed in the history when a widget position is changed
252
- #: inc/admin.php:400
253
  msgid "Widget moved"
254
  msgstr ""
255
 
256
  #. translators: Message displayed in the history when a row is deleted
257
- #: inc/admin.php:404
258
  msgid "Row deleted"
259
  msgstr ""
260
 
261
  #. translators: Message displayed in the history when a row is added
262
- #: inc/admin.php:406
263
  msgid "Row added"
264
  msgstr ""
265
 
266
  #. translators: Message displayed in the history when a row is edited
267
- #: inc/admin.php:408
268
  msgid "Row edited"
269
  msgstr ""
270
 
271
  #. translators: Message displayed in the history when a row position is changed
272
- #: inc/admin.php:410
273
  msgid "Row moved"
274
  msgstr ""
275
 
276
  #. translators: Message displayed in the history when a row is duplicated
277
- #: inc/admin.php:412
278
  msgid "Row duplicated"
279
  msgstr ""
280
 
281
  #. translators: Message displayed in the history when a row is pasted
282
- #: inc/admin.php:414
283
  msgid "Row pasted"
284
  msgstr ""
285
 
286
- #: inc/admin.php:417
287
  msgid "Cell resized"
288
  msgstr ""
289
 
290
- #: inc/admin.php:420
291
  msgid "Prebuilt layout loaded"
292
  msgstr ""
293
 
294
- #: inc/admin.php:424
295
  msgid "Loading prebuilt layout"
296
  msgstr ""
297
 
298
- #: inc/admin.php:425
299
  msgid "Would you like to copy this editor's existing content to Page Builder?"
300
  msgstr ""
301
 
302
- #: inc/admin.php:426
303
  msgid "Would you like to clear your Page Builder content and revert to using the standard visual editor?"
304
  msgstr ""
305
 
306
  #. translators: This is the title for a widget called "Layout Builder"
307
- #: inc/admin.php:428
308
  msgid "Layout Builder Widget"
309
  msgstr ""
310
 
311
  #. translators: A standard confirmation message
312
- #: inc/admin.php:430, tpl/js-templates.php:97, tpl/js-templates.php:422
313
  msgid "Are you sure?"
314
  msgstr ""
315
 
316
  #. translators: When a layout file is ready to be inserted. %s is the filename.
317
- #: inc/admin.php:432
318
  msgid "%s is ready to insert."
319
  msgstr ""
320
 
321
- #: inc/admin.php:436
322
  msgid "Add Widget Below"
323
  msgstr ""
324
 
325
- #: inc/admin.php:437
326
  msgid "Add Widget to Cell"
327
  msgstr ""
328
 
329
- #: inc/admin.php:438, tpl/js-templates.php:224
330
  msgid "Search Widgets"
331
  msgstr ""
332
 
333
- #: inc/admin.php:440, tpl/js-templates.php:17, tpl/js-templates.php:19
334
  msgid "Add Row"
335
  msgstr ""
336
 
337
- #: inc/admin.php:441
338
  msgid "Column"
339
  msgstr ""
340
 
341
- #: inc/admin.php:443
342
  msgid "Cell Actions"
343
  msgstr ""
344
 
345
- #: inc/admin.php:444
346
  msgid "Paste Widget"
347
  msgstr ""
348
 
349
- #: inc/admin.php:446
350
  msgid "Widget Actions"
351
  msgstr ""
352
 
353
- #: inc/admin.php:447
354
  msgid "Edit Widget"
355
  msgstr ""
356
 
357
- #: inc/admin.php:448
358
  msgid "Duplicate Widget"
359
  msgstr ""
360
 
361
- #: inc/admin.php:449
362
  msgid "Delete Widget"
363
  msgstr ""
364
 
365
- #: inc/admin.php:450
366
  msgid "Copy Widget"
367
  msgstr ""
368
 
369
- #: inc/admin.php:451
370
  msgid "Paste Widget Below"
371
  msgstr ""
372
 
373
- #: inc/admin.php:453
374
  msgid "Row Actions"
375
  msgstr ""
376
 
377
- #: inc/admin.php:454, tpl/js-templates.php:95
378
  msgid "Edit Row"
379
  msgstr ""
380
 
381
- #: inc/admin.php:455, tpl/js-templates.php:96
382
  msgid "Duplicate Row"
383
  msgstr ""
384
 
385
- #: inc/admin.php:456, tpl/js-templates.php:97
386
  msgid "Delete Row"
387
  msgstr ""
388
 
389
- #: inc/admin.php:457
390
  msgid "Copy Row"
391
  msgstr ""
392
 
393
- #: inc/admin.php:458
394
  msgid "Paste Row"
395
  msgstr ""
396
 
397
- #: inc/admin.php:460
398
  msgid "Draft"
399
  msgstr ""
400
 
401
- #: inc/admin.php:461
402
  msgid "Untitled"
403
  msgstr ""
404
 
405
- #: inc/admin.php:463
406
  msgid "New Row"
407
  msgstr ""
408
 
409
- #: inc/admin.php:464, inc/admin.php:472, inc/styles.php:193, tpl/js-templates.php:62
410
  msgid "Row"
411
  msgstr ""
412
 
413
- #: inc/admin.php:467
414
  msgid "Hmmm... Adding layout elements is not enabled. Please check if Page Builder has been configured to allow adding elements."
415
  msgstr ""
416
 
417
- #: inc/admin.php:468
418
  msgid "Add a {{%= items[0] %}} to get started."
419
  msgstr ""
420
 
421
- #: inc/admin.php:469
422
  msgid "Add a {{%= items[0] %}} or {{%= items[1] %}} to get started."
423
  msgstr ""
424
 
425
- #: inc/admin.php:470
426
  msgid "Add a {{%= items[0] %}}, {{%= items[1] %}} or {{%= items[2] %}} to get started."
427
  msgstr ""
428
 
429
- #: inc/admin.php:471, inc/styles.php:345, tpl/js-templates.php:61
430
  msgid "Widget"
431
  msgstr ""
432
 
433
- #: inc/admin.php:473, tpl/js-templates.php:63
434
  msgid "Prebuilt Layout"
435
  msgstr ""
436
 
437
- #: inc/admin.php:475
438
  msgid "Read our %s if you need help."
439
  msgstr ""
440
 
441
- #: inc/admin.php:476, tpl/js-templates.php:64
442
  msgid "documentation"
443
  msgstr ""
444
 
445
- #: inc/admin.php:485
446
  msgid "Page Builder layouts"
447
  msgstr ""
448
 
449
- #: inc/admin.php:486
450
  msgid "Error uploading or importing file."
451
  msgstr ""
452
 
453
- #: inc/admin.php:493
454
  msgid "Unknown error. Failed to load the form. Please check your internet connection, contact your web site administrator, or try again later."
455
  msgstr ""
456
 
457
  #. translators: This is the default name given to a user's home page
458
- #: inc/admin.php:677, inc/home.php:26
459
  msgid "Home Page"
460
  msgstr ""
461
 
462
- #: inc/admin.php:778
463
  msgid "Untitled Widget"
464
  msgstr ""
465
 
466
- #: inc/admin.php:958
467
  msgid "You need to install 1{%1$s} to use the widget 2{%2$s}."
468
  msgstr ""
469
 
470
- #: inc/admin.php:964
471
  msgid "Save and reload this page to start using the widget after you've installed it."
472
  msgstr ""
473
 
474
- #: inc/admin.php:980
475
  msgid "The widget 1{%1$s} is not available. Please try locate and install the missing plugin. Post on the 2{support forums} if you need help."
476
  msgstr ""
477
 
478
- #: inc/admin.php:1158, inc/styles-admin.php:23
479
  msgid "The supplied nonce is invalid."
480
  msgstr ""
481
 
482
- #: inc/admin.php:1159, inc/styles-admin.php:24
483
  msgid "Invalid nonce."
484
  msgstr ""
485
 
486
- #: inc/admin.php:1165
487
  msgid "Please specify the type of widget form to be rendered."
488
  msgstr ""
489
 
490
- #: inc/admin.php:1166
491
  msgid "Missing widget type."
492
  msgstr ""
493
 
494
- #: inc/admin.php:1273
495
  msgid "%s Widget"
496
  msgid_plural "%s Widgets"
497
  msgstr[0] ""
498
  msgstr[1] ""
499
 
500
- #: inc/admin.php:1316
501
  msgid "Get a lightbox addon for SiteOrigin widgets"
502
  msgstr ""
503
 
504
- #: inc/admin.php:1320
505
  msgid "Get the row, cell and widget animations addon"
506
  msgstr ""
507
 
508
- #: inc/admin.php:1324
509
  msgid "Get premium email support for SiteOrigin Page Builder"
510
  msgstr ""
511
 
512
- #: inc/admin.php:1509
513
  msgid "Toggle editor selection menu"
514
  msgstr ""
515
 
516
- #: inc/admin.php:1510, inc/admin.php:1557, inc/settings.php:202, settings/tpl/settings.php:9
517
  msgid "SiteOrigin Page Builder"
518
  msgstr ""
519
 
520
- #: inc/admin.php:1511
521
  msgid "Block Editor"
522
  msgstr ""
523
 
@@ -529,595 +529,627 @@ msgstr ""
529
  msgid "Page Builder Content"
530
  msgstr ""
531
 
532
- #: inc/settings.php:229
533
  msgid "Page Builder Settings"
534
  msgstr ""
535
 
536
- #: inc/settings.php:245
537
  msgid "General"
538
  msgstr ""
539
 
540
- #: inc/settings.php:251
541
  msgid "Post Types"
542
  msgstr ""
543
 
544
- #: inc/settings.php:253
545
  msgid "The post types on which to use Page Builder."
546
  msgstr ""
547
 
548
- #: inc/settings.php:258
549
  msgid "Use Classic Editor for New Posts"
550
  msgstr ""
551
 
552
- #: inc/settings.php:259
553
  msgid "New posts of the above Post Types will be created using the Classic Editor."
554
  msgstr ""
555
 
556
- #: inc/settings.php:264
557
  msgid "Live Editor Quick Link"
558
  msgstr ""
559
 
560
- #: inc/settings.php:265
561
  msgid "Display a Live Editor button in the admin bar."
562
  msgstr ""
563
 
564
- #: inc/settings.php:270
565
  msgid "Display Post State"
566
  msgstr ""
567
 
568
- #: inc/settings.php:272
569
  msgid "Display a %sSiteOrigin Page Builder%s post state in the admin lists of posts/pages to indicate Page Builder is active."
570
  msgstr ""
571
 
572
- #: inc/settings.php:280
573
  msgid "Display Widget Count"
574
  msgstr ""
575
 
576
- #: inc/settings.php:281
577
  msgid "Display a widget count in the admin lists of posts/pages where you're using Page Builder."
578
  msgstr ""
579
 
580
- #: inc/settings.php:286
581
- msgid "Limit Parallax Motion"
582
  msgstr ""
583
 
584
- #: inc/settings.php:287
585
- msgid "How many pixels of scrolling result in a single pixel of parallax motion. 0 means automatic. Lower values give more noticeable effect."
 
 
 
 
586
  msgstr ""
587
 
588
- #: inc/settings.php:292
 
 
 
 
589
  msgid "Disable Parallax On Mobile"
590
  msgstr ""
591
 
592
- #: inc/settings.php:293
593
  msgid "Disable row/widget background parallax when the browser is smaller than the mobile width."
594
  msgstr ""
595
 
596
- #: inc/settings.php:298
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
597
  msgid "Sidebars Emulator"
598
  msgstr ""
599
 
600
- #: inc/settings.php:299
601
  msgid "Page Builder will create an emulated sidebar, that contains all widgets in the page."
602
  msgstr ""
603
 
604
- #: inc/settings.php:304
605
  msgid "Upgrade Teaser"
606
  msgstr ""
607
 
608
- #: inc/settings.php:306
609
  msgid "Display the %sSiteOrigin Premium%s upgrade teaser in the Page Builder toolbar."
610
  msgstr ""
611
 
612
- #: inc/settings.php:314
613
  msgid "Default To Page Builder Interface"
614
  msgstr ""
615
 
616
- #: inc/settings.php:316
617
  msgid "New Classic Editor posts/pages that you create will start with the Page Builder loaded. The %s\"Use Classic Editor for new posts\"%s setting must be enabled."
618
  msgstr ""
619
 
620
- #: inc/settings.php:323
621
  msgid "Layout Block Default Mode"
622
  msgstr ""
623
 
624
- #: inc/settings.php:326, tpl/js-templates.php:141
625
  msgid "Edit"
626
  msgstr ""
627
 
628
- #: inc/settings.php:327
629
  msgid "Preview"
630
  msgstr ""
631
 
632
- #: inc/settings.php:329
633
  msgid "Whether to display layout blocks in edit mode or preview mode in the block editor."
634
  msgstr ""
635
 
636
- #: inc/settings.php:335
637
  msgid "Widgets"
638
  msgstr ""
639
 
640
- #: inc/settings.php:341
641
  msgid "Widget Title HTML"
642
  msgstr ""
643
 
644
- #: inc/settings.php:342
645
  msgid "The HTML used for widget titles. {{title}} is replaced with the widget title."
646
  msgstr ""
647
 
648
- #: inc/settings.php:347
649
  msgid "Add Widget Class"
650
  msgstr ""
651
 
652
- #: inc/settings.php:348
653
  msgid "Add the widget class to Page Builder widgets. Disable this if you're experiencing conflicts."
654
  msgstr ""
655
 
656
- #: inc/settings.php:353
657
  msgid "Legacy Bundled Widgets"
658
  msgstr ""
659
 
660
- #: inc/settings.php:354
661
  msgid "Load legacy widgets from Page Builder 1."
662
  msgstr ""
663
 
664
- #: inc/settings.php:360
665
  msgid "Display recommend widgets in Page Builder add widget dialog."
666
  msgstr ""
667
 
668
- #: inc/settings.php:365
669
  msgid "Instant Open Widgets"
670
  msgstr ""
671
 
672
- #: inc/settings.php:366
673
  msgid "Open a widget form as soon as its added to a page."
674
  msgstr ""
675
 
676
- #: inc/settings.php:372, inc/styles-admin.php:88
677
  msgid "Layout"
678
  msgstr ""
679
 
680
- #: inc/settings.php:380
681
  msgid "Responsive Layout"
682
  msgstr ""
683
 
684
- #: inc/settings.php:381
685
  msgid "Collapse widgets, rows and columns on mobile devices."
686
  msgstr ""
687
 
688
- #: inc/settings.php:386
689
  msgid "Use Tablet Layout"
690
  msgstr ""
691
 
692
- #: inc/settings.php:387
693
  msgid "Collapses columns differently on tablet devices."
694
  msgstr ""
695
 
696
- #: inc/settings.php:393
697
  msgid "Detect older browsers"
698
  msgstr ""
699
 
700
- #: inc/settings.php:394
701
  msgid "Never"
702
  msgstr ""
703
 
704
- #: inc/settings.php:395
705
  msgid "Always"
706
  msgstr ""
707
 
708
- #: inc/settings.php:397
709
  msgid "Use Legacy Layout Engine"
710
  msgstr ""
711
 
712
- #: inc/settings.php:398
713
  msgid "The CSS and HTML uses floats instead of flexbox for compatibility with very old browsers."
714
  msgstr ""
715
 
716
- #: inc/settings.php:404
717
  msgid "Tablet Width"
718
  msgstr ""
719
 
720
- #: inc/settings.php:405
721
  msgid "Device width, in pixels, to collapse into a tablet view ."
722
  msgstr ""
723
 
724
- #: inc/settings.php:411
725
  msgid "Mobile Width"
726
  msgstr ""
727
 
728
- #: inc/settings.php:412
729
  msgid "Device width, in pixels, to collapse into a mobile view ."
730
  msgstr ""
731
 
732
- #: inc/settings.php:418
733
  msgid "Row/Widget Bottom Margin"
734
  msgstr ""
735
 
736
- #: inc/settings.php:419
737
  msgid "Default margin below rows and widgets."
738
  msgstr ""
739
 
740
- #: inc/settings.php:425
741
  msgid "Row Mobile Bottom Margin"
742
  msgstr ""
743
 
744
- #: inc/settings.php:426
745
  msgid "The default margin below rows on mobile."
746
  msgstr ""
747
 
748
- #: inc/settings.php:431
749
  msgid "Last Row With Margin"
750
  msgstr ""
751
 
752
- #: inc/settings.php:432
753
  msgid "Allow margin in last row."
754
  msgstr ""
755
 
756
- #: inc/settings.php:438
757
  msgid "Row Gutter"
758
  msgstr ""
759
 
760
- #: inc/settings.php:439
761
  msgid "Default spacing between columns in each row."
762
  msgstr ""
763
 
764
- #: inc/settings.php:445
765
  msgid "Full Width Container"
766
  msgstr ""
767
 
768
- #: inc/settings.php:446
769
  msgid "The container used for the full width layout."
770
  msgstr ""
771
 
772
- #: inc/settings.php:453
773
  msgid "Automatic"
774
  msgstr ""
775
 
776
- #: inc/settings.php:454
777
  msgid "Header"
778
  msgstr ""
779
 
780
- #: inc/settings.php:455
781
  msgid "Footer"
782
  msgstr ""
783
 
784
- #: inc/settings.php:457
785
  msgid "Page Builder Layout CSS Output Location"
786
  msgstr ""
787
 
788
- #: inc/settings.php:463
 
 
 
 
789
  msgid "Content"
790
  msgstr ""
791
 
792
- #: inc/settings.php:469
793
  msgid "Copy Content"
794
  msgstr ""
795
 
796
- #: inc/settings.php:470
797
  msgid "Copy content from Page Builder to post content."
798
  msgstr ""
799
 
800
- #: inc/settings.php:475
801
  msgid "Copy Styles"
802
  msgstr ""
803
 
804
- #: inc/settings.php:476
805
  msgid "Include styles into your Post Content. This keeps page layouts, even when Page Builder is deactivated."
806
  msgstr ""
807
 
808
- #: inc/settings.php:529, inc/styles-admin.php:273
809
  msgid "Enabled"
810
  msgstr ""
811
 
812
- #: inc/styles-admin.php:33
813
  msgid "Please specify the type of style form to be rendered."
814
  msgstr ""
815
 
816
- #: inc/styles-admin.php:34
817
  msgid "Missing style form type."
818
  msgstr ""
819
 
820
- #: inc/styles-admin.php:46
821
  msgid "Row Styles"
822
  msgstr ""
823
 
824
- #: inc/styles-admin.php:51
825
  msgid "Cell%s Styles"
826
  msgstr ""
827
 
828
- #: inc/styles-admin.php:55
829
  msgid "Widget Styles"
830
  msgstr ""
831
 
832
- #: inc/styles-admin.php:84
833
  msgid "Attributes"
834
  msgstr ""
835
 
836
- #: inc/styles-admin.php:92
837
  msgid "Mobile Layout"
838
  msgstr ""
839
 
840
- #: inc/styles-admin.php:96
841
  msgid "Design"
842
  msgstr ""
843
 
844
- #: inc/styles-admin.php:106
845
  msgid "Theme"
846
  msgstr ""
847
 
848
- #: inc/styles-admin.php:191, inc/styles.php:263, inc/styles.php:310
849
  msgid "Top"
850
  msgstr ""
851
 
852
- #: inc/styles-admin.php:195, widgets/widgets/button/button.php:30
853
  msgid "Right"
854
  msgstr ""
855
 
856
- #: inc/styles-admin.php:199, inc/styles.php:265, inc/styles.php:312
857
  msgid "Bottom"
858
  msgstr ""
859
 
860
- #: inc/styles-admin.php:203, widgets/widgets/button/button.php:29
861
  msgid "Left"
862
  msgstr ""
863
 
864
- #: inc/styles-admin.php:248
865
  msgid "Select Image"
866
  msgstr ""
867
 
868
- #: inc/styles-admin.php:253
869
  msgid "Remove"
870
  msgstr ""
871
 
872
- #: inc/styles-admin.php:256
873
  msgid "External URL"
874
  msgstr ""
875
 
876
- #: inc/styles.php:85
877
  msgid "%s ID"
878
  msgstr ""
879
 
880
- #: inc/styles.php:88
881
  msgid "A custom ID used for this %s."
882
  msgstr ""
883
 
884
- #: inc/styles.php:93
885
  msgid "%s Class"
886
  msgstr ""
887
 
888
- #: inc/styles.php:96
889
  msgid "A CSS class"
890
  msgstr ""
891
 
892
- #: inc/styles.php:101
893
  msgid "CSS Declarations"
894
  msgstr ""
895
 
896
- #: inc/styles.php:104
897
  msgid "One declaration per line."
898
  msgstr ""
899
 
900
- #: inc/styles.php:109
901
  msgid "Mobile CSS Declarations"
902
  msgstr ""
903
 
904
- #: inc/styles.php:112
905
  msgid "CSS declarations applied when in mobile view."
906
  msgstr ""
907
 
908
- #: inc/styles.php:119
909
  msgid "Padding"
910
  msgstr ""
911
 
912
- #: inc/styles.php:122
913
  msgid "Padding around the entire %s."
914
  msgstr ""
915
 
916
- #: inc/styles.php:130
917
  msgid "Mobile Padding"
918
  msgstr ""
919
 
920
- #: inc/styles.php:133
921
  msgid "Padding when on mobile devices."
922
  msgstr ""
923
 
924
- #: inc/styles.php:141
925
  msgid "Background Color"
926
  msgstr ""
927
 
928
- #: inc/styles.php:144
929
  msgid "Background color of the %s."
930
  msgstr ""
931
 
932
- #: inc/styles.php:149
933
  msgid "Background Image"
934
  msgstr ""
935
 
936
- #: inc/styles.php:152
937
  msgid "Background image of the %s."
938
  msgstr ""
939
 
940
- #: inc/styles.php:157
941
  msgid "Background Image Display"
942
  msgstr ""
943
 
944
- #: inc/styles.php:161
945
  msgid "Tiled Image"
946
  msgstr ""
947
 
948
- #: inc/styles.php:162
949
  msgid "Cover"
950
  msgstr ""
951
 
952
- #: inc/styles.php:163
953
  msgid "Centered, with original size"
954
  msgstr ""
955
 
956
- #: inc/styles.php:164
957
  msgid "Contain"
958
  msgstr ""
959
 
960
- #: inc/styles.php:165
961
  msgid "Fixed"
962
  msgstr ""
963
 
964
- #: inc/styles.php:166
965
  msgid "Parallax"
966
  msgstr ""
967
 
968
- #: inc/styles.php:167
969
- msgid "Parallax (Original Size)"
970
- msgstr ""
971
-
972
- #: inc/styles.php:169
973
  msgid "How the background image is displayed."
974
  msgstr ""
975
 
976
- #: inc/styles.php:174
977
  msgid "Border Color"
978
  msgstr ""
979
 
980
- #: inc/styles.php:177
981
  msgid "Border color of the %s."
982
  msgstr ""
983
 
984
- #: inc/styles.php:196
985
  msgid "Cell Class"
986
  msgstr ""
987
 
988
- #: inc/styles.php:199
989
  msgid "Class added to all cells in this row."
990
  msgstr ""
991
 
992
- #: inc/styles.php:206
993
  msgid "Bottom Margin"
994
  msgstr ""
995
 
996
- #: inc/styles.php:209
997
  msgid "Space below the row. Default is %spx."
998
  msgstr ""
999
 
1000
- #: inc/styles.php:214
1001
  msgid "Gutter"
1002
  msgstr ""
1003
 
1004
- #: inc/styles.php:217
1005
  msgid "Amount of space between cells. Default is %spx."
1006
  msgstr ""
1007
 
1008
- #: inc/styles.php:222
1009
  msgid "Row Layout"
1010
  msgstr ""
1011
 
1012
- #: inc/styles.php:226, inc/styles.php:239
1013
  msgid "Standard"
1014
  msgstr ""
1015
 
1016
- #: inc/styles.php:227
1017
  msgid "Full Width"
1018
  msgstr ""
1019
 
1020
- #: inc/styles.php:228
1021
  msgid "Full Width Stretched"
1022
  msgstr ""
1023
 
1024
- #: inc/styles.php:229
1025
  msgid "Full Width Stretched Padded"
1026
  msgstr ""
1027
 
1028
- #: inc/styles.php:235
1029
  msgid "Collapse Behaviour"
1030
  msgstr ""
1031
 
1032
- #: inc/styles.php:240
1033
  msgid "No Collapse"
1034
  msgstr ""
1035
 
1036
- #: inc/styles.php:246
1037
  msgid "Collapse Order"
1038
  msgstr ""
1039
 
1040
- #: inc/styles.php:250, widgets/widgets.php:635, widgets/widgets.php:757, inc/widgets/post-loop.php:357
1041
  msgid "Default"
1042
  msgstr ""
1043
 
1044
- #: inc/styles.php:251
1045
  msgid "Left on Top"
1046
  msgstr ""
1047
 
1048
- #: inc/styles.php:252
1049
  msgid "Right on Top"
1050
  msgstr ""
1051
 
1052
- #: inc/styles.php:259
1053
  msgid "Cell Vertical Alignment"
1054
  msgstr ""
1055
 
1056
- #: inc/styles.php:264, inc/styles.php:311, widgets/widgets/button/button.php:31
1057
  msgid "Center"
1058
  msgstr ""
1059
 
1060
- #: inc/styles.php:266, inc/styles.php:313
1061
  msgid "Stretch"
1062
  msgstr ""
1063
 
1064
- #: inc/styles.php:275
1065
  msgid "Mobile Bottom Margin"
1066
  msgstr ""
1067
 
1068
- #: inc/styles.php:278
1069
  msgid "Space below the row on mobile devices. Default is %spx."
1070
  msgstr ""
1071
 
1072
- #: inc/styles.php:283
1073
  msgid "Mobile Cell Margins"
1074
  msgstr ""
1075
 
1076
- #: inc/styles.php:286
1077
  msgid "Vertical space between cells in a collapsed mobile row. Default is %spx."
1078
  msgstr ""
1079
 
1080
- #: inc/styles.php:302
1081
  msgid "Cell"
1082
  msgstr ""
1083
 
1084
- #: inc/styles.php:305
1085
  msgid "Vertical Alignment"
1086
  msgstr ""
1087
 
1088
- #: inc/styles.php:309
1089
  msgid "Use row setting"
1090
  msgstr ""
1091
 
1092
- #: inc/styles.php:319, inc/styles.php:359
1093
  msgid "Font Color"
1094
  msgstr ""
1095
 
1096
- #: inc/styles.php:322
1097
  msgid "Color of text inside this cell."
1098
  msgstr ""
1099
 
1100
- #: inc/styles.php:327, inc/styles.php:367
1101
  msgid "Links Color"
1102
  msgstr ""
1103
 
1104
- #: inc/styles.php:330
1105
  msgid "Color of links inside this cell."
1106
  msgstr ""
1107
 
1108
- #: inc/styles.php:348
1109
  msgid "Margin"
1110
  msgstr ""
1111
 
1112
- #: inc/styles.php:351
1113
  msgid "Margins around the widget."
1114
  msgstr ""
1115
 
1116
- #: inc/styles.php:362
1117
  msgid "Color of text inside this widget."
1118
  msgstr ""
1119
 
1120
- #: inc/styles.php:370
1121
  msgid "Color of links inside this widget."
1122
  msgstr ""
1123
 
@@ -1353,83 +1385,83 @@ msgstr ""
1353
  msgid "%s Style"
1354
  msgstr ""
1355
 
1356
- #: widgets/widgets.php:594, inc/widgets/post-loop.php:315
1357
  msgid "Post Type"
1358
  msgstr ""
1359
 
1360
- #: widgets/widgets.php:601, inc/widgets/post-loop.php:324
1361
  msgid "Posts Per Page"
1362
  msgstr ""
1363
 
1364
- #: widgets/widgets.php:606, inc/widgets/post-loop.php:329
1365
  msgid "Order By"
1366
  msgstr ""
1367
 
1368
- #: widgets/widgets.php:608, widgets/widgets.php:783, inc/widgets/post-content.php:60, inc/widgets/post-loop.php:331
1369
  msgid "None"
1370
  msgstr ""
1371
 
1372
- #: widgets/widgets.php:609, inc/widgets/post-loop.php:332
1373
  msgid "Post ID"
1374
  msgstr ""
1375
 
1376
- #: widgets/widgets.php:610, inc/widgets/post-loop.php:333
1377
  msgid "Author"
1378
  msgstr ""
1379
 
1380
- #: widgets/widgets.php:611, widgets/widgets.php:612, inc/widgets/post-loop.php:334, inc/widgets/post-loop.php:335, widgets/widgets/testimonial/testimonial.php:15
1381
  msgid "Name"
1382
  msgstr ""
1383
 
1384
- #: widgets/widgets.php:613, inc/widgets/post-loop.php:336
1385
  msgid "Date"
1386
  msgstr ""
1387
 
1388
- #: widgets/widgets.php:614, inc/widgets/post-loop.php:337
1389
  msgid "Modified"
1390
  msgstr ""
1391
 
1392
- #: widgets/widgets.php:615, inc/widgets/post-loop.php:338
1393
  msgid "Parent"
1394
  msgstr ""
1395
 
1396
- #: widgets/widgets.php:616, inc/widgets/post-loop.php:339
1397
  msgid "Random"
1398
  msgstr ""
1399
 
1400
- #: widgets/widgets.php:617, inc/widgets/post-loop.php:340
1401
  msgid "Comment Count"
1402
  msgstr ""
1403
 
1404
- #: widgets/widgets.php:618, inc/widgets/post-loop.php:341
1405
  msgid "Menu Order"
1406
  msgstr ""
1407
 
1408
- #: widgets/widgets.php:624, inc/widgets/post-loop.php:347
1409
  msgid "Order"
1410
  msgstr ""
1411
 
1412
- #: widgets/widgets.php:626, inc/widgets/post-loop.php:350
1413
  msgid "Ascending"
1414
  msgstr ""
1415
 
1416
- #: widgets/widgets.php:627, inc/widgets/post-loop.php:349
1417
  msgid "Descending"
1418
  msgstr ""
1419
 
1420
- #: widgets/widgets.php:633, inc/widgets/post-loop.php:355
1421
  msgid "Sticky Posts"
1422
  msgstr ""
1423
 
1424
- #: widgets/widgets.php:636, inc/widgets/post-loop.php:358
1425
  msgid "Ignore Sticky"
1426
  msgstr ""
1427
 
1428
- #: widgets/widgets.php:637, inc/widgets/post-loop.php:359
1429
  msgid "Exclude Sticky"
1430
  msgstr ""
1431
 
1432
- #: widgets/widgets.php:638, inc/widgets/post-loop.php:360
1433
  msgid "Only Sticky"
1434
  msgstr ""
1435
 
@@ -1437,7 +1469,7 @@ msgstr ""
1437
  msgid "Additional Arguments"
1438
  msgstr ""
1439
 
1440
- #: widgets/widgets.php:648, inc/widgets/post-loop.php:372
1441
  msgid "Additional query arguments. See 1{query_posts}."
1442
  msgstr ""
1443
 
@@ -1626,7 +1658,7 @@ msgstr ""
1626
  msgid "Displays content from the current post."
1627
  msgstr ""
1628
 
1629
- #: inc/widgets/post-content.php:61, inc/widgets/post-loop-helper.php:41, inc/widgets/post-loop.php:278, widgets/widgets/call-to-action/call-to-action.php:15, widgets/widgets/list/list.php:15, widgets/widgets/price-box/price-box.php:15
1630
  msgid "Title"
1631
  msgstr ""
1632
 
@@ -1646,27 +1678,27 @@ msgstr ""
1646
  msgid "Displays a post loop."
1647
  msgstr ""
1648
 
1649
- #: inc/widgets/post-loop-helper.php:45, inc/widgets/post-loop.php:282
1650
  msgid "Template"
1651
  msgstr ""
1652
 
1653
- #: inc/widgets/post-loop-helper.php:52, inc/widgets/post-loop.php:300
1654
  msgid "If the template supports it, cut posts and display the more link."
1655
  msgstr ""
1656
 
1657
- #: inc/widgets/post-loop.php:248
1658
  msgid "Your theme doesn't have any post loops."
1659
  msgstr ""
1660
 
1661
- #: inc/widgets/post-loop.php:298
1662
  msgid "More Link"
1663
  msgstr ""
1664
 
1665
- #: inc/widgets/post-loop.php:342
1666
  msgid "Post In Order"
1667
  msgstr ""
1668
 
1669
- #: inc/widgets/post-loop.php:365
1670
  msgid "Additional "
1671
  msgstr ""
1672
 
1
+ # Copyright (C) 2021 siteorigin-panels
2
  # This file is distributed under the same license as the siteorigin-panels package.
3
  msgid ""
4
  msgstr ""
36
  msgid "https://siteorigin.com"
37
  msgstr ""
38
 
39
+ #: siteorigin-panels.php:360
40
  msgid "Read More"
41
  msgstr ""
42
 
43
+ #: siteorigin-panels.php:530
44
  msgid "Edit Home Page"
45
  msgstr ""
46
 
47
+ #: siteorigin-panels.php:550, tpl/js-templates.php:34, tpl/js-templates.php:36
48
  msgid "Live Editor"
49
  msgstr ""
50
 
76
  msgid "(email SiteOrigin support)"
77
  msgstr ""
78
 
79
+ #: inc/admin-dashboard.php:95, inc/admin.php:166
80
  msgid "Support Forum"
81
  msgstr ""
82
 
85
  msgid "Get Premium"
86
  msgstr ""
87
 
88
+ #: inc/admin-layouts.php:40, inc/admin-layouts.php:222
89
  msgid "Layouts Directory"
90
  msgstr ""
91
 
92
+ #: inc/admin-layouts.php:186
93
  msgid "Invalid request."
94
  msgstr ""
95
 
96
+ #: inc/admin-layouts.php:201
97
  msgid "Theme Defined Layouts"
98
  msgstr ""
99
 
100
+ #: inc/admin-layouts.php:272
101
  msgid "Clone %s"
102
  msgstr ""
103
 
104
+ #: inc/admin-layouts.php:310
105
  msgid " - Results For:"
106
  msgstr ""
107
 
108
+ #: inc/admin-layouts.php:343
109
  msgid "Missing layout ID or no such layout exists"
110
  msgstr ""
111
 
112
+ #: inc/admin-layouts.php:389
113
  msgid "There was a problem fetching the layout. Please try again later."
114
  msgstr ""
115
 
141
  msgid "WordPress Widgets"
142
  msgstr ""
143
 
144
+ #: inc/admin-widget-dialog.php:185, inc/settings.php:391
145
  msgid "Recommended Widgets"
146
  msgstr ""
147
 
153
  msgid "Installing %s"
154
  msgstr ""
155
 
156
+ #: inc/admin.php:169, tpl/js-templates.php:44
157
  msgid "Addons"
158
  msgstr ""
159
 
160
+ #: inc/admin.php:183, inc/admin.php:598, inc/admin.php:1261, inc/admin.php:1266, inc/settings.php:210, tpl/js-templates.php:197
161
  msgid "Page Builder"
162
  msgstr ""
163
 
164
+ #: inc/admin.php:338
165
  msgid "All Widgets"
166
  msgstr ""
167
 
168
+ #: inc/admin.php:365
169
  msgid "Missing Widget"
170
  msgstr ""
171
 
172
+ #: inc/admin.php:366
173
  msgid "Page Builder doesn't know about this widget."
174
  msgstr ""
175
 
176
  #. translators: Number of seconds since
177
+ #: inc/admin.php:370
178
  msgid "%d seconds"
179
  msgstr ""
180
 
181
  #. translators: Number of minutes since
182
+ #: inc/admin.php:372
183
  msgid "%d minutes"
184
  msgstr ""
185
 
186
  #. translators: Number of hours since
187
+ #: inc/admin.php:374
188
  msgid "%d hours"
189
  msgstr ""
190
 
191
  #. translators: A single second since
192
+ #: inc/admin.php:377
193
  msgid "%d second"
194
  msgstr ""
195
 
196
  #. translators: A single minute since
197
+ #: inc/admin.php:379
198
  msgid "%d minute"
199
  msgstr ""
200
 
201
  #. translators: A single hour since
202
+ #: inc/admin.php:381
203
  msgid "%d hour"
204
  msgstr ""
205
 
206
  #. translators: Time ago - eg. "1 minute before".
207
+ #: inc/admin.php:384
208
  msgid "%s before"
209
  msgstr ""
210
 
211
+ #: inc/admin.php:385
212
  msgid "Now"
213
  msgstr ""
214
 
215
+ #: inc/admin.php:389
216
  msgid "Current"
217
  msgstr ""
218
 
219
+ #: inc/admin.php:390
220
  msgid "Original"
221
  msgstr ""
222
 
223
+ #: inc/admin.php:391
224
  msgid "Version restored"
225
  msgstr ""
226
 
227
+ #: inc/admin.php:392
228
  msgid "Converted to editor"
229
  msgstr ""
230
 
231
  #. translators: Message displayed in the history when a widget is deleted
232
+ #: inc/admin.php:396
233
  msgid "Widget deleted"
234
  msgstr ""
235
 
236
  #. translators: Message displayed in the history when a widget is added
237
+ #: inc/admin.php:398
238
  msgid "Widget added"
239
  msgstr ""
240
 
241
  #. translators: Message displayed in the history when a widget is edited
242
+ #: inc/admin.php:400
243
  msgid "Widget edited"
244
  msgstr ""
245
 
246
  #. translators: Message displayed in the history when a widget is duplicated
247
+ #: inc/admin.php:402
248
  msgid "Widget duplicated"
249
  msgstr ""
250
 
251
  #. translators: Message displayed in the history when a widget position is changed
252
+ #: inc/admin.php:404
253
  msgid "Widget moved"
254
  msgstr ""
255
 
256
  #. translators: Message displayed in the history when a row is deleted
257
+ #: inc/admin.php:408
258
  msgid "Row deleted"
259
  msgstr ""
260
 
261
  #. translators: Message displayed in the history when a row is added
262
+ #: inc/admin.php:410
263
  msgid "Row added"
264
  msgstr ""
265
 
266
  #. translators: Message displayed in the history when a row is edited
267
+ #: inc/admin.php:412
268
  msgid "Row edited"
269
  msgstr ""
270
 
271
  #. translators: Message displayed in the history when a row position is changed
272
+ #: inc/admin.php:414
273
  msgid "Row moved"
274
  msgstr ""
275
 
276
  #. translators: Message displayed in the history when a row is duplicated
277
+ #: inc/admin.php:416
278
  msgid "Row duplicated"
279
  msgstr ""
280
 
281
  #. translators: Message displayed in the history when a row is pasted
282
+ #: inc/admin.php:418
283
  msgid "Row pasted"
284
  msgstr ""
285
 
286
+ #: inc/admin.php:421
287
  msgid "Cell resized"
288
  msgstr ""
289
 
290
+ #: inc/admin.php:424
291
  msgid "Prebuilt layout loaded"
292
  msgstr ""
293
 
294
+ #: inc/admin.php:428
295
  msgid "Loading prebuilt layout"
296
  msgstr ""
297
 
298
+ #: inc/admin.php:429
299
  msgid "Would you like to copy this editor's existing content to Page Builder?"
300
  msgstr ""
301
 
302
+ #: inc/admin.php:430
303
  msgid "Would you like to clear your Page Builder content and revert to using the standard visual editor?"
304
  msgstr ""
305
 
306
  #. translators: This is the title for a widget called "Layout Builder"
307
+ #: inc/admin.php:432
308
  msgid "Layout Builder Widget"
309
  msgstr ""
310
 
311
  #. translators: A standard confirmation message
312
+ #: inc/admin.php:434, tpl/js-templates.php:97, tpl/js-templates.php:422
313
  msgid "Are you sure?"
314
  msgstr ""
315
 
316
  #. translators: When a layout file is ready to be inserted. %s is the filename.
317
+ #: inc/admin.php:436
318
  msgid "%s is ready to insert."
319
  msgstr ""
320
 
321
+ #: inc/admin.php:440
322
  msgid "Add Widget Below"
323
  msgstr ""
324
 
325
+ #: inc/admin.php:441
326
  msgid "Add Widget to Cell"
327
  msgstr ""
328
 
329
+ #: inc/admin.php:442, tpl/js-templates.php:224
330
  msgid "Search Widgets"
331
  msgstr ""
332
 
333
+ #: inc/admin.php:444, tpl/js-templates.php:17, tpl/js-templates.php:19
334
  msgid "Add Row"
335
  msgstr ""
336
 
337
+ #: inc/admin.php:445
338
  msgid "Column"
339
  msgstr ""
340
 
341
+ #: inc/admin.php:447
342
  msgid "Cell Actions"
343
  msgstr ""
344
 
345
+ #: inc/admin.php:448
346
  msgid "Paste Widget"
347
  msgstr ""
348
 
349
+ #: inc/admin.php:450
350
  msgid "Widget Actions"
351
  msgstr ""
352
 
353
+ #: inc/admin.php:451
354
  msgid "Edit Widget"
355
  msgstr ""
356
 
357
+ #: inc/admin.php:452
358
  msgid "Duplicate Widget"
359
  msgstr ""
360
 
361
+ #: inc/admin.php:453
362
  msgid "Delete Widget"
363
  msgstr ""
364
 
365
+ #: inc/admin.php:454
366
  msgid "Copy Widget"
367
  msgstr ""
368
 
369
+ #: inc/admin.php:455
370
  msgid "Paste Widget Below"
371
  msgstr ""
372
 
373
+ #: inc/admin.php:457
374
  msgid "Row Actions"
375
  msgstr ""
376
 
377
+ #: inc/admin.php:458, tpl/js-templates.php:95
378
  msgid "Edit Row"
379
  msgstr ""
380
 
381
+ #: inc/admin.php:459, tpl/js-templates.php:96
382
  msgid "Duplicate Row"
383
  msgstr ""
384
 
385
+ #: inc/admin.php:460, tpl/js-templates.php:97
386
  msgid "Delete Row"
387
  msgstr ""
388
 
389
+ #: inc/admin.php:461
390
  msgid "Copy Row"
391
  msgstr ""
392
 
393
+ #: inc/admin.php:462
394
  msgid "Paste Row"
395
  msgstr ""
396
 
397
+ #: inc/admin.php:464
398
  msgid "Draft"
399
  msgstr ""
400
 
401
+ #: inc/admin.php:465
402
  msgid "Untitled"
403
  msgstr ""
404
 
405
+ #: inc/admin.php:467
406
  msgid "New Row"
407
  msgstr ""
408
 
409
+ #: inc/admin.php:468, inc/admin.php:476, inc/styles.php:216, tpl/js-templates.php:62
410
  msgid "Row"
411
  msgstr ""
412
 
413
+ #: inc/admin.php:471
414
  msgid "Hmmm... Adding layout elements is not enabled. Please check if Page Builder has been configured to allow adding elements."
415
  msgstr ""
416
 
417
+ #: inc/admin.php:472
418
  msgid "Add a {{%= items[0] %}} to get started."
419
  msgstr ""
420
 
421
+ #: inc/admin.php:473
422
  msgid "Add a {{%= items[0] %}} or {{%= items[1] %}} to get started."
423
  msgstr ""
424
 
425
+ #: inc/admin.php:474
426
  msgid "Add a {{%= items[0] %}}, {{%= items[1] %}} or {{%= items[2] %}} to get started."
427
  msgstr ""
428
 
429
+ #: inc/admin.php:475, inc/styles.php:368, tpl/js-templates.php:61
430
  msgid "Widget"
431
  msgstr ""
432
 
433
+ #: inc/admin.php:477, tpl/js-templates.php:63
434
  msgid "Prebuilt Layout"
435
  msgstr ""
436
 
437
+ #: inc/admin.php:479
438
  msgid "Read our %s if you need help."
439
  msgstr ""
440
 
441
+ #: inc/admin.php:480, tpl/js-templates.php:64
442
  msgid "documentation"
443
  msgstr ""
444
 
445
+ #: inc/admin.php:489
446
  msgid "Page Builder layouts"
447
  msgstr ""
448
 
449
+ #: inc/admin.php:490
450
  msgid "Error uploading or importing file."
451
  msgstr ""
452
 
453
+ #: inc/admin.php:497
454
  msgid "Unknown error. Failed to load the form. Please check your internet connection, contact your web site administrator, or try again later."
455
  msgstr ""
456
 
457
  #. translators: This is the default name given to a user's home page
458
+ #: inc/admin.php:681, inc/home.php:26
459
  msgid "Home Page"
460
  msgstr ""
461
 
462
+ #: inc/admin.php:782
463
  msgid "Untitled Widget"
464
  msgstr ""
465
 
466
+ #: inc/admin.php:962
467
  msgid "You need to install 1{%1$s} to use the widget 2{%2$s}."
468
  msgstr ""
469
 
470
+ #: inc/admin.php:968
471
  msgid "Save and reload this page to start using the widget after you've installed it."
472
  msgstr ""
473
 
474
+ #: inc/admin.php:984
475
  msgid "The widget 1{%1$s} is not available. Please try locate and install the missing plugin. Post on the 2{support forums} if you need help."
476
  msgstr ""
477
 
478
+ #: inc/admin.php:1164, inc/styles-admin.php:25
479
  msgid "The supplied nonce is invalid."
480
  msgstr ""
481
 
482
+ #: inc/admin.php:1165, inc/styles-admin.php:26
483
  msgid "Invalid nonce."
484
  msgstr ""
485
 
486
+ #: inc/admin.php:1171
487
  msgid "Please specify the type of widget form to be rendered."
488
  msgstr ""
489
 
490
+ #: inc/admin.php:1172
491
  msgid "Missing widget type."
492
  msgstr ""
493
 
494
+ #: inc/admin.php:1279
495
  msgid "%s Widget"
496
  msgid_plural "%s Widgets"
497
  msgstr[0] ""
498
  msgstr[1] ""
499
 
500
+ #: inc/admin.php:1322
501
  msgid "Get a lightbox addon for SiteOrigin widgets"
502
  msgstr ""
503
 
504
+ #: inc/admin.php:1326
505
  msgid "Get the row, cell and widget animations addon"
506
  msgstr ""
507
 
508
+ #: inc/admin.php:1330
509
  msgid "Get premium email support for SiteOrigin Page Builder"
510
  msgstr ""
511
 
512
+ #: inc/admin.php:1515
513
  msgid "Toggle editor selection menu"
514
  msgstr ""
515
 
516
+ #: inc/admin.php:1516, inc/admin.php:1563, inc/settings.php:210, settings/tpl/settings.php:9
517
  msgid "SiteOrigin Page Builder"
518
  msgstr ""
519
 
520
+ #: inc/admin.php:1517
521
  msgid "Block Editor"
522
  msgstr ""
523
 
529
  msgid "Page Builder Content"
530
  msgstr ""
531
 
532
+ #: inc/settings.php:237
533
  msgid "Page Builder Settings"
534
  msgstr ""
535
 
536
+ #: inc/settings.php:253
537
  msgid "General"
538
  msgstr ""
539
 
540
+ #: inc/settings.php:259
541
  msgid "Post Types"
542
  msgstr ""
543
 
544
+ #: inc/settings.php:261
545
  msgid "The post types on which to use Page Builder."
546
  msgstr ""
547
 
548
+ #: inc/settings.php:266
549
  msgid "Use Classic Editor for New Posts"
550
  msgstr ""
551
 
552
+ #: inc/settings.php:267
553
  msgid "New posts of the above Post Types will be created using the Classic Editor."
554
  msgstr ""
555
 
556
+ #: inc/settings.php:272
557
  msgid "Live Editor Quick Link"
558
  msgstr ""
559
 
560
+ #: inc/settings.php:273
561
  msgid "Display a Live Editor button in the admin bar."
562
  msgstr ""
563
 
564
+ #: inc/settings.php:278
565
  msgid "Display Post State"
566
  msgstr ""
567
 
568
+ #: inc/settings.php:280
569
  msgid "Display a %sSiteOrigin Page Builder%s post state in the admin lists of posts/pages to indicate Page Builder is active."
570
  msgstr ""
571
 
572
+ #: inc/settings.php:288
573
  msgid "Display Widget Count"
574
  msgstr ""
575
 
576
+ #: inc/settings.php:289
577
  msgid "Display a widget count in the admin lists of posts/pages where you're using Page Builder."
578
  msgstr ""
579
 
580
+ #: inc/settings.php:294
581
+ msgid "Parallax Type"
582
  msgstr ""
583
 
584
+ #: inc/settings.php:296
585
+ msgid "Modern"
586
+ msgstr ""
587
+
588
+ #: inc/settings.php:297
589
+ msgid "Legacy"
590
  msgstr ""
591
 
592
+ #: inc/settings.php:299
593
+ msgid "Modern is recommended as it can use smaller images and offers better performance."
594
+ msgstr ""
595
+
596
+ #: inc/settings.php:304
597
  msgid "Disable Parallax On Mobile"
598
  msgstr ""
599
 
600
+ #: inc/settings.php:305
601
  msgid "Disable row/widget background parallax when the browser is smaller than the mobile width."
602
  msgstr ""
603
 
604
+ #: inc/settings.php:311
605
+ msgid "Limit Parallax Motion"
606
+ msgstr ""
607
+
608
+ #: inc/settings.php:312
609
+ msgid "How many pixels of scrolling result in a single pixel of parallax motion. 0 means automatic. Lower values give more noticeable effect."
610
+ msgstr ""
611
+
612
+ #: inc/settings.php:318
613
+ msgid "Parallax Delay"
614
+ msgstr ""
615
+
616
+ #: inc/settings.php:319
617
+ msgid "The delay before the parallax effect finishes after the user stops scrolling."
618
+ msgstr ""
619
+
620
+ #: inc/settings.php:324
621
+ msgid "Parallax Scale"
622
+ msgstr ""
623
+
624
+ #: inc/settings.php:325
625
+ msgid "How much the image is scaled. The higher the scale is set, the more visible the parallax effect will be. Increasing the scale will result in a loss of image quality."
626
+ msgstr ""
627
+
628
+ #: inc/settings.php:330
629
  msgid "Sidebars Emulator"
630
  msgstr ""
631
 
632
+ #: inc/settings.php:331
633
  msgid "Page Builder will create an emulated sidebar, that contains all widgets in the page."
634
  msgstr ""
635
 
636
+ #: inc/settings.php:336
637
  msgid "Upgrade Teaser"
638
  msgstr ""
639
 
640
+ #: inc/settings.php:338
641
  msgid "Display the %sSiteOrigin Premium%s upgrade teaser in the Page Builder toolbar."
642
  msgstr ""
643
 
644
+ #: inc/settings.php:346
645
  msgid "Default To Page Builder Interface"
646
  msgstr ""
647
 
648
+ #: inc/settings.php:348
649
  msgid "New Classic Editor posts/pages that you create will start with the Page Builder loaded. The %s\"Use Classic Editor for new posts\"%s setting must be enabled."
650
  msgstr ""
651
 
652
+ #: inc/settings.php:355
653
  msgid "Layout Block Default Mode"
654
  msgstr ""
655
 
656
+ #: inc/settings.php:358, tpl/js-templates.php:141
657
  msgid "Edit"
658
  msgstr ""
659
 
660
+ #: inc/settings.php:359
661
  msgid "Preview"
662
  msgstr ""
663
 
664
+ #: inc/settings.php:361
665
  msgid "Whether to display layout blocks in edit mode or preview mode in the block editor."
666
  msgstr ""
667
 
668
+ #: inc/settings.php:367
669
  msgid "Widgets"
670
  msgstr ""
671
 
672
+ #: inc/settings.php:373
673
  msgid "Widget Title HTML"
674
  msgstr ""
675
 
676
+ #: inc/settings.php:374
677
  msgid "The HTML used for widget titles. {{title}} is replaced with the widget title."
678
  msgstr ""
679
 
680
+ #: inc/settings.php:379
681
  msgid "Add Widget Class"
682
  msgstr ""
683
 
684
+ #: inc/settings.php:380
685
  msgid "Add the widget class to Page Builder widgets. Disable this if you're experiencing conflicts."
686
  msgstr ""
687
 
688
+ #: inc/settings.php:385
689
  msgid "Legacy Bundled Widgets"
690
  msgstr ""
691
 
692
+ #: inc/settings.php:386
693
  msgid "Load legacy widgets from Page Builder 1."
694
  msgstr ""
695
 
696
+ #: inc/settings.php:392
697
  msgid "Display recommend widgets in Page Builder add widget dialog."
698
  msgstr ""
699
 
700
+ #: inc/settings.php:397
701
  msgid "Instant Open Widgets"
702
  msgstr ""
703
 
704
+ #: inc/settings.php:398
705
  msgid "Open a widget form as soon as its added to a page."
706
  msgstr ""
707
 
708
+ #: inc/settings.php:404, inc/styles-admin.php:103
709
  msgid "Layout"
710
  msgstr ""
711
 
712
+ #: inc/settings.php:412
713
  msgid "Responsive Layout"
714
  msgstr ""
715
 
716
+ #: inc/settings.php:413
717
  msgid "Collapse widgets, rows and columns on mobile devices."
718
  msgstr ""
719
 
720
+ #: inc/settings.php:418
721
  msgid "Use Tablet Layout"
722
  msgstr ""
723
 
724
+ #: inc/settings.php:419
725
  msgid "Collapses columns differently on tablet devices."
726
  msgstr ""
727
 
728
+ #: inc/settings.php:425
729
  msgid "Detect older browsers"
730
  msgstr ""
731
 
732
+ #: inc/settings.php:426
733
  msgid "Never"
734
  msgstr ""
735
 
736
+ #: inc/settings.php:427
737
  msgid "Always"
738
  msgstr ""
739
 
740
+ #: inc/settings.php:429
741
  msgid "Use Legacy Layout Engine"
742
  msgstr ""
743
 
744
+ #: inc/settings.php:430
745
  msgid "The CSS and HTML uses floats instead of flexbox for compatibility with very old browsers."
746
  msgstr ""
747
 
748
+ #: inc/settings.php:436
749
  msgid "Tablet Width"
750
  msgstr ""
751
 
752
+ #: inc/settings.php:437
753
  msgid "Device width, in pixels, to collapse into a tablet view ."
754
  msgstr ""
755
 
756
+ #: inc/settings.php:443
757
  msgid "Mobile Width"
758
  msgstr ""
759
 
760
+ #: inc/settings.php:444
761
  msgid "Device width, in pixels, to collapse into a mobile view ."
762
  msgstr ""
763
 
764
+ #: inc/settings.php:450
765
  msgid "Row/Widget Bottom Margin"
766
  msgstr ""
767
 
768
+ #: inc/settings.php:451
769
  msgid "Default margin below rows and widgets."
770
  msgstr ""
771
 
772
+ #: inc/settings.php:457
773
  msgid "Row Mobile Bottom Margin"
774
  msgstr ""
775
 
776
+ #: inc/settings.php:458
777
  msgid "The default margin below rows on mobile."
778
  msgstr ""
779
 
780
+ #: inc/settings.php:463
781
  msgid "Last Row With Margin"
782
  msgstr ""
783
 
784
+ #: inc/settings.php:464
785
  msgid "Allow margin in last row."
786
  msgstr ""
787
 
788
+ #: inc/settings.php:470
789
  msgid "Row Gutter"
790
  msgstr ""
791
 
792
+ #: inc/settings.php:471
793
  msgid "Default spacing between columns in each row."
794
  msgstr ""
795
 
796
+ #: inc/settings.php:477
797
  msgid "Full Width Container"
798
  msgstr ""
799
 
800
+ #: inc/settings.php:478
801
  msgid "The container used for the full width layout."
802
  msgstr ""
803
 
804
+ #: inc/settings.php:485
805
  msgid "Automatic"
806
  msgstr ""
807
 
808
+ #: inc/settings.php:486
809
  msgid "Header"
810
  msgstr ""
811
 
812
+ #: inc/settings.php:487
813
  msgid "Footer"
814
  msgstr ""
815
 
816
+ #: inc/settings.php:489
817
  msgid "Page Builder Layout CSS Output Location"
818
  msgstr ""
819
 
820
+ #: inc/settings.php:490
821
+ msgid "This setting is only applicable in the Classic Editor."
822
+ msgstr ""
823
+
824
+ #: inc/settings.php:496
825
  msgid "Content"
826
  msgstr ""
827
 
828
+ #: inc/settings.php:502
829
  msgid "Copy Content"
830
  msgstr ""
831
 
832
+ #: inc/settings.php:503
833
  msgid "Copy content from Page Builder to post content."
834
  msgstr ""
835
 
836
+ #: inc/settings.php:508
837
  msgid "Copy Styles"
838
  msgstr ""
839
 
840
+ #: inc/settings.php:509
841
  msgid "Include styles into your Post Content. This keeps page layouts, even when Page Builder is deactivated."
842
  msgstr ""
843
 
844
+ #: inc/settings.php:562, inc/styles-admin.php:288
845
  msgid "Enabled"
846
  msgstr ""
847
 
848
+ #: inc/styles-admin.php:35
849
  msgid "Please specify the type of style form to be rendered."
850
  msgstr ""
851
 
852
+ #: inc/styles-admin.php:36
853
  msgid "Missing style form type."
854
  msgstr ""
855
 
856
+ #: inc/styles-admin.php:61
857
  msgid "Row Styles"
858
  msgstr ""
859
 
860
+ #: inc/styles-admin.php:66
861
  msgid "Cell%s Styles"
862
  msgstr ""
863
 
864
+ #: inc/styles-admin.php:70
865
  msgid "Widget Styles"
866
  msgstr ""
867
 
868
+ #: inc/styles-admin.php:99
869
  msgid "Attributes"
870
  msgstr ""
871
 
872
+ #: inc/styles-admin.php:107
873
  msgid "Mobile Layout"
874
  msgstr ""
875
 
876
+ #: inc/styles-admin.php:111
877
  msgid "Design"
878
  msgstr ""
879
 
880
+ #: inc/styles-admin.php:121
881
  msgid "Theme"
882
  msgstr ""
883
 
884
+ #: inc/styles-admin.php:206, inc/styles.php:286, inc/styles.php:333
885
  msgid "Top"
886
  msgstr ""
887
 
888
+ #: inc/styles-admin.php:210, widgets/widgets/button/button.php:30
889
  msgid "Right"
890
  msgstr ""
891
 
892
+ #: inc/styles-admin.php:214, inc/styles.php:288, inc/styles.php:335
893
  msgid "Bottom"
894
  msgstr ""
895
 
896
+ #: inc/styles-admin.php:218, widgets/widgets/button/button.php:29
897
  msgid "Left"
898
  msgstr ""
899
 
900
+ #: inc/styles-admin.php:263
901
  msgid "Select Image"
902
  msgstr ""
903
 
904
+ #: inc/styles-admin.php:268
905
  msgid "Remove"
906
  msgstr ""
907
 
908
+ #: inc/styles-admin.php:271
909
  msgid "External URL"
910
  msgstr ""
911
 
912
+ #: inc/styles.php:109
913
  msgid "%s ID"
914
  msgstr ""
915
 
916
+ #: inc/styles.php:112
917
  msgid "A custom ID used for this %s."
918
  msgstr ""
919
 
920
+ #: inc/styles.php:117
921
  msgid "%s Class"
922
  msgstr ""
923
 
924
+ #: inc/styles.php:120
925
  msgid "A CSS class"
926
  msgstr ""
927
 
928
+ #: inc/styles.php:125
929
  msgid "CSS Declarations"
930
  msgstr ""
931
 
932
+ #: inc/styles.php:128
933
  msgid "One declaration per line."
934
  msgstr ""
935
 
936
+ #: inc/styles.php:133
937
  msgid "Mobile CSS Declarations"
938
  msgstr ""
939
 
940
+ #: inc/styles.php:136
941
  msgid "CSS declarations applied when in mobile view."
942
  msgstr ""
943
 
944
+ #: inc/styles.php:143
945
  msgid "Padding"
946
  msgstr ""
947
 
948
+ #: inc/styles.php:146
949
  msgid "Padding around the entire %s."
950
  msgstr ""
951
 
952
+ #: inc/styles.php:154
953
  msgid "Mobile Padding"
954
  msgstr ""
955
 
956
+ #: inc/styles.php:157
957
  msgid "Padding when on mobile devices."
958
  msgstr ""
959
 
960
+ #: inc/styles.php:165
961
  msgid "Background Color"
962
  msgstr ""
963
 
964
+ #: inc/styles.php:168
965
  msgid "Background color of the %s."
966
  msgstr ""
967
 
968
+ #: inc/styles.php:173
969
  msgid "Background Image"
970
  msgstr ""
971
 
972
+ #: inc/styles.php:176
973
  msgid "Background image of the %s."
974
  msgstr ""
975
 
976
+ #: inc/styles.php:181
977
  msgid "Background Image Display"
978
  msgstr ""
979
 
980
+ #: inc/styles.php:185
981
  msgid "Tiled Image"
982
  msgstr ""
983
 
984
+ #: inc/styles.php:186
985
  msgid "Cover"
986
  msgstr ""
987
 
988
+ #: inc/styles.php:187
989
  msgid "Centered, with original size"
990
  msgstr ""
991
 
992
+ #: inc/styles.php:188
993
  msgid "Contain"
994
  msgstr ""
995
 
996
+ #: inc/styles.php:189
997
  msgid "Fixed"
998
  msgstr ""
999
 
1000
+ #: inc/styles.php:190
1001
  msgid "Parallax"
1002
  msgstr ""
1003
 
1004
+ #: inc/styles.php:192
 
 
 
 
1005
  msgid "How the background image is displayed."
1006
  msgstr ""
1007
 
1008
+ #: inc/styles.php:197
1009
  msgid "Border Color"
1010
  msgstr ""
1011
 
1012
+ #: inc/styles.php:200
1013
  msgid "Border color of the %s."
1014
  msgstr ""
1015
 
1016
+ #: inc/styles.php:219
1017
  msgid "Cell Class"
1018
  msgstr ""
1019
 
1020
+ #: inc/styles.php:222
1021
  msgid "Class added to all cells in this row."
1022
  msgstr ""
1023
 
1024
+ #: inc/styles.php:229
1025
  msgid "Bottom Margin"
1026
  msgstr ""
1027
 
1028
+ #: inc/styles.php:232
1029
  msgid "Space below the row. Default is %spx."
1030
  msgstr ""
1031
 
1032
+ #: inc/styles.php:237
1033
  msgid "Gutter"
1034
  msgstr ""
1035
 
1036
+ #: inc/styles.php:240
1037
  msgid "Amount of space between cells. Default is %spx."
1038
  msgstr ""
1039
 
1040
+ #: inc/styles.php:245
1041
  msgid "Row Layout"
1042
  msgstr ""
1043
 
1044
+ #: inc/styles.php:249, inc/styles.php:262
1045
  msgid "Standard"
1046
  msgstr ""
1047
 
1048
+ #: inc/styles.php:250
1049
  msgid "Full Width"
1050
  msgstr ""
1051
 
1052
+ #: inc/styles.php:251
1053
  msgid "Full Width Stretched"
1054
  msgstr ""
1055
 
1056
+ #: inc/styles.php:252
1057
  msgid "Full Width Stretched Padded"
1058
  msgstr ""
1059
 
1060
+ #: inc/styles.php:258
1061
  msgid "Collapse Behaviour"
1062
  msgstr ""
1063
 
1064
+ #: inc/styles.php:263
1065
  msgid "No Collapse"
1066
  msgstr ""
1067
 
1068
+ #: inc/styles.php:269
1069
  msgid "Collapse Order"
1070
  msgstr ""
1071
 
1072
+ #: inc/styles.php:273, widgets/widgets.php:635, widgets/widgets.php:757, inc/widgets/post-loop.php:360
1073
  msgid "Default"
1074
  msgstr ""
1075
 
1076
+ #: inc/styles.php:274
1077
  msgid "Left on Top"
1078
  msgstr ""
1079
 
1080
+ #: inc/styles.php:275
1081
  msgid "Right on Top"
1082
  msgstr ""
1083
 
1084
+ #: inc/styles.php:282
1085
  msgid "Cell Vertical Alignment"
1086
  msgstr ""
1087
 
1088
+ #: inc/styles.php:287, inc/styles.php:334, widgets/widgets/button/button.php:31
1089
  msgid "Center"
1090
  msgstr ""
1091
 
1092
+ #: inc/styles.php:289, inc/styles.php:336
1093
  msgid "Stretch"
1094
  msgstr ""
1095
 
1096
+ #: inc/styles.php:298
1097
  msgid "Mobile Bottom Margin"
1098
  msgstr ""
1099
 
1100
+ #: inc/styles.php:301
1101
  msgid "Space below the row on mobile devices. Default is %spx."
1102
  msgstr ""
1103
 
1104
+ #: inc/styles.php:306
1105
  msgid "Mobile Cell Margins"
1106
  msgstr ""
1107
 
1108
+ #: inc/styles.php:309
1109
  msgid "Vertical space between cells in a collapsed mobile row. Default is %spx."
1110
  msgstr ""
1111
 
1112
+ #: inc/styles.php:325
1113
  msgid "Cell"
1114
  msgstr ""
1115
 
1116
+ #: inc/styles.php:328
1117
  msgid "Vertical Alignment"
1118
  msgstr ""
1119
 
1120
+ #: inc/styles.php:332
1121
  msgid "Use row setting"
1122
  msgstr ""
1123
 
1124
+ #: inc/styles.php:342, inc/styles.php:382
1125
  msgid "Font Color"
1126
  msgstr ""
1127
 
1128
+ #: inc/styles.php:345
1129
  msgid "Color of text inside this cell."
1130
  msgstr ""
1131
 
1132
+ #: inc/styles.php:350, inc/styles.php:390
1133
  msgid "Links Color"
1134
  msgstr ""
1135
 
1136
+ #: inc/styles.php:353
1137
  msgid "Color of links inside this cell."
1138
  msgstr ""
1139
 
1140
+ #: inc/styles.php:371
1141
  msgid "Margin"
1142
  msgstr ""
1143
 
1144
+ #: inc/styles.php:374
1145
  msgid "Margins around the widget."
1146
  msgstr ""
1147
 
1148
+ #: inc/styles.php:385
1149
  msgid "Color of text inside this widget."
1150
  msgstr ""
1151
 
1152
+ #: inc/styles.php:393
1153
  msgid "Color of links inside this widget."
1154
  msgstr ""
1155
 
1385
  msgid "%s Style"
1386
  msgstr ""
1387
 
1388
+ #: widgets/widgets.php:594, inc/widgets/post-loop.php:318
1389
  msgid "Post Type"
1390
  msgstr ""
1391
 
1392
+ #: widgets/widgets.php:601, inc/widgets/post-loop.php:327
1393
  msgid "Posts Per Page"
1394
  msgstr ""
1395
 
1396
+ #: widgets/widgets.php:606, inc/widgets/post-loop.php:332
1397
  msgid "Order By"
1398
  msgstr ""
1399
 
1400
+ #: widgets/widgets.php:608, widgets/widgets.php:783, inc/widgets/post-content.php:60, inc/widgets/post-loop.php:334
1401
  msgid "None"
1402
  msgstr ""
1403
 
1404
+ #: widgets/widgets.php:609, inc/widgets/post-loop.php:335
1405
  msgid "Post ID"
1406
  msgstr ""
1407
 
1408
+ #: widgets/widgets.php:610, inc/widgets/post-loop.php:336
1409
  msgid "Author"
1410
  msgstr ""
1411
 
1412
+ #: widgets/widgets.php:611, widgets/widgets.php:612, inc/widgets/post-loop.php:337, inc/widgets/post-loop.php:338, widgets/widgets/testimonial/testimonial.php:15
1413
  msgid "Name"
1414
  msgstr ""
1415
 
1416
+ #: widgets/widgets.php:613, inc/widgets/post-loop.php:339
1417
  msgid "Date"
1418
  msgstr ""
1419
 
1420
+ #: widgets/widgets.php:614, inc/widgets/post-loop.php:340
1421
  msgid "Modified"
1422
  msgstr ""
1423
 
1424
+ #: widgets/widgets.php:615, inc/widgets/post-loop.php:341
1425
  msgid "Parent"
1426
  msgstr ""
1427
 
1428
+ #: widgets/widgets.php:616, inc/widgets/post-loop.php:342
1429
  msgid "Random"
1430
  msgstr ""
1431
 
1432
+ #: widgets/widgets.php:617, inc/widgets/post-loop.php:343
1433
  msgid "Comment Count"
1434
  msgstr ""
1435
 
1436
+ #: widgets/widgets.php:618, inc/widgets/post-loop.php:344
1437
  msgid "Menu Order"
1438
  msgstr ""
1439
 
1440
+ #: widgets/widgets.php:624, inc/widgets/post-loop.php:350
1441
  msgid "Order"
1442
  msgstr ""
1443
 
1444
+ #: widgets/widgets.php:626, inc/widgets/post-loop.php:353
1445
  msgid "Ascending"
1446
  msgstr ""
1447
 
1448
+ #: widgets/widgets.php:627, inc/widgets/post-loop.php:352
1449
  msgid "Descending"
1450
  msgstr ""
1451
 
1452
+ #: widgets/widgets.php:633, inc/widgets/post-loop.php:358
1453
  msgid "Sticky Posts"
1454
  msgstr ""
1455
 
1456
+ #: widgets/widgets.php:636, inc/widgets/post-loop.php:361
1457
  msgid "Ignore Sticky"
1458
  msgstr ""
1459
 
1460
+ #: widgets/widgets.php:637, inc/widgets/post-loop.php:362
1461
  msgid "Exclude Sticky"
1462
  msgstr ""
1463
 
1464
+ #: widgets/widgets.php:638, inc/widgets/post-loop.php:363
1465
  msgid "Only Sticky"
1466
  msgstr ""
1467
 
1469
  msgid "Additional Arguments"
1470
  msgstr ""
1471
 
1472
+ #: widgets/widgets.php:648, inc/widgets/post-loop.php:375
1473
  msgid "Additional query arguments. See 1{query_posts}."
1474
  msgstr ""
1475
 
1658
  msgid "Displays content from the current post."
1659
  msgstr ""
1660
 
1661
+ #: inc/widgets/post-content.php:61, inc/widgets/post-loop-helper.php:41, inc/widgets/post-loop.php:281, widgets/widgets/call-to-action/call-to-action.php:15, widgets/widgets/list/list.php:15, widgets/widgets/price-box/price-box.php:15
1662
  msgid "Title"
1663
  msgstr ""
1664
 
1678
  msgid "Displays a post loop."
1679
  msgstr ""
1680
 
1681
+ #: inc/widgets/post-loop-helper.php:45, inc/widgets/post-loop.php:285
1682
  msgid "Template"
1683
  msgstr ""
1684
 
1685
+ #: inc/widgets/post-loop-helper.php:52, inc/widgets/post-loop.php:303
1686
  msgid "If the template supports it, cut posts and display the more link."
1687
  msgstr ""
1688
 
1689
+ #: inc/widgets/post-loop.php:251
1690
  msgid "Your theme doesn't have any post loops."
1691
  msgstr ""
1692
 
1693
+ #: inc/widgets/post-loop.php:301
1694
  msgid "More Link"
1695
  msgstr ""
1696
 
1697
+ #: inc/widgets/post-loop.php:345
1698
  msgid "Post In Order"
1699
  msgstr ""
1700
 
1701
+ #: inc/widgets/post-loop.php:368
1702
  msgid "Additional "
1703
  msgstr ""
1704
 
readme.txt CHANGED
@@ -1,14 +1,14 @@
1
  === Page Builder by SiteOrigin ===
2
- Tags: page builder, responsive, widget, widgets, builder, page, admin, gallery, content, cms, pages, post, css, layout, grid
3
  Requires at least: 4.7
4
  Tested up to: 5.7
5
  Requires PHP: 5.6.20
6
- Stable tag: 2.11.8
7
- Build time: 2020-12-09T15:04:44+02:00
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl.html
10
  Donate link: https://siteorigin.com/downloads/premium/
11
- Contributors: gpriday, braam-genis
12
 
13
  Build responsive page layouts using the widgets you know and love using this simple drag and drop page builder.
14
 
@@ -97,6 +97,28 @@ We've tried to ensure that Page Builder is compatible with most plugin widgets.
97
 
98
  == Changelog ==
99
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
100
  = 2.11.8 - 09 December 2020 =
101
  * Developer: jQuery updates for WordPress 5.6.
102
 
1
  === Page Builder by SiteOrigin ===
2
+ Tags: page builder, responsive, parallax, widgets, blocks, gallery, layout, grid, cms, builder, widget
3
  Requires at least: 4.7
4
  Tested up to: 5.7
5
  Requires PHP: 5.6.20
6
+ Stable tag: 2.12.0
7
+ Build time: 2021-05-03T16:55:19+02:00
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl.html
10
  Donate link: https://siteorigin.com/downloads/premium/
11
+ Contributors: gpriday, braam-genis, alexgso
12
 
13
  Build responsive page layouts using the widgets you know and love using this simple drag and drop page builder.
14
 
97
 
98
  == Changelog ==
99
 
100
+ = 2.12.0 - 03 May 2021 =
101
+ * **New Parallax Scrolling!** Existing users can optionally switch to `Modern` at `Settings > Page Builder > General`.
102
+ * ACF: Added widget fields compatibility. `siteorigin_panels_before_widget_form` action is triggered before the widget form is output.
103
+ * Improved Add/Edit row responsive behavior.
104
+ * Updated sidebar emulator to detect current page ID by path. Resolves WPML compatibility issue.
105
+ * Added WP Rocket Lazy Loading compatibility for row, cell, and, widget background images.
106
+ * Automatic Excerpt: Added support for the `<!-- more -->` quicktag.
107
+ * Improved indexing of text containing multibyte Unicode such as Greek.
108
+ * Instant Open Widgets: Updated the setting to default enabled for new installs.
109
+ * Limited the `Page Builder Layout CSS Output Location` setting to the Classic Editor.
110
+ * Add Layout: Improved responsive behavior for long post titles.
111
+ * Ensured background image remove URL only displays when an image is present.
112
+ * SiteOrigin Layout Block: Removed the preview button when a preview isn't available.
113
+ * SiteOrigin Layout Block: Prevent an empty layout from being rendered.
114
+ * Block Editor: Added support for automatic excerpt generation if the first post block is a SiteOrigin Layout Block.
115
+ * Block Editor: Resolved duplicate Add SiteOrigin Layout button.
116
+ * Developer: Ensured prebuilt layout compatibility with JSON MIME type.
117
+ * Developer: Updated depreciated jQuery `bind` usage.
118
+ * Developer: Replaced older-style PHP type conversion functions with type casts.
119
+ * Developer: Resolved a PHP 8 notice relating to the CSS builder.
120
+ * Developer: Improved WordPress indexing of languages that use multibyte Unicode
121
+
122
  = 2.11.8 - 09 December 2020 =
123
  * Developer: jQuery updates for WordPress 5.6.
124
 
settings/admin-settings.js CHANGED
@@ -151,6 +151,17 @@ jQuery( function($){
151
  $('#panels-settings-search .results').fadeOut('fast');
152
  } );
153
 
 
 
 
 
 
 
 
 
 
 
 
154
  } );
155
 
156
  // Fitvids
151
  $('#panels-settings-search .results').fadeOut('fast');
152
  } );
153
 
154
+ var handleParallaxVisibility = function() {
155
+ if ( $( 'select[name="panels_setting[parallax-type]"]' ).val() == 'modern' ) {
156
+ $( 'input[name="panels_setting[parallax-motion]"]' ).parent().parent().hide();
157
+ $( 'input[name="panels_setting[parallax-delay]"], input[name="panels_setting[parallax-scale]"]' ).parent().parent().show();
158
+ } else {
159
+ $( 'input[name="panels_setting[parallax-delay]"], input[name="panels_setting[parallax-scale]"]' ).parent().parent().hide();
160
+ $( 'input[name="panels_setting[parallax-motion]"]' ).parent().parent().show();
161
+ }
162
+ }
163
+ handleParallaxVisibility();
164
+ $( 'select[name="panels_setting[parallax-type]"]' ).on( 'change', handleParallaxVisibility );
165
  } );
166
 
167
  // Fitvids
settings/admin-settings.min.js CHANGED
@@ -1 +1 @@
1
- jQuery((function(t){t(".settings-banner img").hide().eq(0).one("load",(function(){t.each([1,2,3],(function(e,i){var s=t(".settings-banner img.layer-"+i),n=s.css("opacity");setTimeout((function(){s.show().css({"margin-top":"-5px",opacity:0}).animate({"margin-top":0,opacity:n},280+40*(4-i))}),150+225*(4-i))}))})).each((function(){this.complete&&t(this).trigger("load")})),t(".settings-nav li a").on("click",(function(e){e.preventDefault();var i=t(this);t(".settings-nav li a").not(i).closest("li").removeClass("active"),i.closest("li").addClass("active");var s=i.attr("href").split("#")[1],n=t("#panels-settings-section-"+s);t("#panels-settings-sections .panels-settings-section").not(n).hide(),n.show(),t('#panels-settings-page input[type="submit"]').css({visibility:"welcome"===s?"hidden":"visible"}),setUserSetting("siteorigin_panels_setting_tab",s)})),window.location.hash&&t('.settings-nav li a[href="'+window.location.hash+'"]').trigger("click"),t("#panels-settings-section-welcome").fitVids();var e=getUserSetting("siteorigin_panels_setting_tab");""===e?t(".settings-nav li a").first().trigger("click"):t('.settings-nav li a[href="#'+e+'"]').first().trigger("click");t("#panels-settings-search input").on("keyup click",(function(){var e=t(this),i=t("#panels-settings-search .results"),s=e.val();if(""===s)return i.empty().hide(),!1;var n=[];t("#panels-settings-sections .panels-setting").each((function(){var e=t(this),i=0,a=e.find("label").html().toLowerCase().indexOf(s),r=e.find(".description").data("keywords").toLowerCase().indexOf(s),o=e.find(".description").html().toLowerCase().indexOf(s);0===a?i+=10:-1!==a&&(i+=7),0===r?i+=4:-1!==r&&(i+=3),0===o?i+=2:-1!==o&&(i+=1),i>0&&(n.push(e),e.data("isMatch",i))})),i.empty(),n.length>0?(i.show(),n.sort((function(t,e){return e.data("isMatch")-t.data("isMatch")})),n=n.slice(0,8),t.each(n,(function(e,s){t("#panels-settings-search .results").append(t("<li></li>").html(s.find("label").html()).click((function(){var e;t('.settings-nav li a[href="#'+(e=s).closest(".panels-settings-section").data("section")+'"]').first().click(),e.addClass("highlighted"),e.find("label").css("border-left-width",0).animate({"border-left-width":5},"normal").delay(4e3).animate({"border-left-width":0},"normal",(function(){e.removeClass("highlighted")})),e.find("input, textarea").trigger("focus"),i.fadeOut("fast"),t("#panels-settings-search input").trigger("blur")})))}))):i.hide()})).on("blur",(function(){t("#panels-settings-search .results").fadeOut("fast")}))})),function(t){"use strict";t.fn.fitVids=function(e){var i={customSelector:null,ignore:null};if(!document.getElementById("fit-vids-style")){var s=document.head||document.getElementsByTagName("head")[0],n=document.createElement("div");n.innerHTML='<p>x</p><style id="fit-vids-style">.fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}</style>',s.appendChild(n.childNodes[1])}return e&&t.extend(i,e),this.each((function(){var e=['iframe[src*="player.vimeo.com"]','iframe[src*="youtube.com"]','iframe[src*="youtube-nocookie.com"]','iframe[src*="kickstarter.com"][src*="video.html"]',"object","embed"];i.customSelector&&e.push(i.customSelector);var s=".fitvidsignore";i.ignore&&(s=s+", "+i.ignore);var n=t(this).find(e.join(","));(n=(n=n.not("object object")).not(s)).each((function(){var e=t(this);if(!(e.parents(s).length>0||"embed"===this.tagName.toLowerCase()&&e.parent("object").length||e.parent(".fluid-width-video-wrapper").length)){e.css("height")||e.css("width")||!isNaN(e.attr("height"))&&!isNaN(e.attr("width"))||(e.attr("height",9),e.attr("width",16));var i=("object"===this.tagName.toLowerCase()||e.attr("height")&&!isNaN(parseInt(e.attr("height"),10))?parseInt(e.attr("height"),10):e.height())/(isNaN(parseInt(e.attr("width"),10))?e.width():parseInt(e.attr("width"),10));if(!e.attr("name")){var n="fitvid"+t.fn.fitVids._count;e.attr("name",n),t.fn.fitVids._count++}e.wrap('<div class="fluid-width-video-wrapper"></div>').parent(".fluid-width-video-wrapper").css("padding-top",100*i+"%"),e.removeAttr("height").removeAttr("width")}}))}))},t.fn.fitVids._count=0}(window.jQuery||window.Zepto);
1
+ jQuery((function(t){t(".settings-banner img").hide().eq(0).one("load",(function(){t.each([1,2,3],(function(e,i){var a=t(".settings-banner img.layer-"+i),n=a.css("opacity");setTimeout((function(){a.show().css({"margin-top":"-5px",opacity:0}).animate({"margin-top":0,opacity:n},280+40*(4-i))}),150+225*(4-i))}))})).each((function(){this.complete&&t(this).trigger("load")})),t(".settings-nav li a").on("click",(function(e){e.preventDefault();var i=t(this);t(".settings-nav li a").not(i).closest("li").removeClass("active"),i.closest("li").addClass("active");var a=i.attr("href").split("#")[1],n=t("#panels-settings-section-"+a);t("#panels-settings-sections .panels-settings-section").not(n).hide(),n.show(),t('#panels-settings-page input[type="submit"]').css({visibility:"welcome"===a?"hidden":"visible"}),setUserSetting("siteorigin_panels_setting_tab",a)})),window.location.hash&&t('.settings-nav li a[href="'+window.location.hash+'"]').trigger("click"),t("#panels-settings-section-welcome").fitVids();var e=getUserSetting("siteorigin_panels_setting_tab");""===e?t(".settings-nav li a").first().trigger("click"):t('.settings-nav li a[href="#'+e+'"]').first().trigger("click");t("#panels-settings-search input").on("keyup click",(function(){var e=t(this),i=t("#panels-settings-search .results"),a=e.val();if(""===a)return i.empty().hide(),!1;var n=[];t("#panels-settings-sections .panels-setting").each((function(){var e=t(this),i=0,s=e.find("label").html().toLowerCase().indexOf(a),r=e.find(".description").data("keywords").toLowerCase().indexOf(a),o=e.find(".description").html().toLowerCase().indexOf(a);0===s?i+=10:-1!==s&&(i+=7),0===r?i+=4:-1!==r&&(i+=3),0===o?i+=2:-1!==o&&(i+=1),i>0&&(n.push(e),e.data("isMatch",i))})),i.empty(),n.length>0?(i.show(),n.sort((function(t,e){return e.data("isMatch")-t.data("isMatch")})),n=n.slice(0,8),t.each(n,(function(e,a){t("#panels-settings-search .results").append(t("<li></li>").html(a.find("label").html()).click((function(){var e;t('.settings-nav li a[href="#'+(e=a).closest(".panels-settings-section").data("section")+'"]').first().click(),e.addClass("highlighted"),e.find("label").css("border-left-width",0).animate({"border-left-width":5},"normal").delay(4e3).animate({"border-left-width":0},"normal",(function(){e.removeClass("highlighted")})),e.find("input, textarea").trigger("focus"),i.fadeOut("fast"),t("#panels-settings-search input").trigger("blur")})))}))):i.hide()})).on("blur",(function(){t("#panels-settings-search .results").fadeOut("fast")}));var i=function(){"modern"==t('select[name="panels_setting[parallax-type]"]').val()?(t('input[name="panels_setting[parallax-motion]"]').parent().parent().hide(),t('input[name="panels_setting[parallax-delay]"], input[name="panels_setting[parallax-scale]"]').parent().parent().show()):(t('input[name="panels_setting[parallax-delay]"], input[name="panels_setting[parallax-scale]"]').parent().parent().hide(),t('input[name="panels_setting[parallax-motion]"]').parent().parent().show())};i(),t('select[name="panels_setting[parallax-type]"]').on("change",i)})),function(t){"use strict";t.fn.fitVids=function(e){var i={customSelector:null,ignore:null};if(!document.getElementById("fit-vids-style")){var a=document.head||document.getElementsByTagName("head")[0],n=document.createElement("div");n.innerHTML='<p>x</p><style id="fit-vids-style">.fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}</style>',a.appendChild(n.childNodes[1])}return e&&t.extend(i,e),this.each((function(){var e=['iframe[src*="player.vimeo.com"]','iframe[src*="youtube.com"]','iframe[src*="youtube-nocookie.com"]','iframe[src*="kickstarter.com"][src*="video.html"]',"object","embed"];i.customSelector&&e.push(i.customSelector);var a=".fitvidsignore";i.ignore&&(a=a+", "+i.ignore);var n=t(this).find(e.join(","));(n=(n=n.not("object object")).not(a)).each((function(){var e=t(this);if(!(e.parents(a).length>0||"embed"===this.tagName.toLowerCase()&&e.parent("object").length||e.parent(".fluid-width-video-wrapper").length)){e.css("height")||e.css("width")||!isNaN(e.attr("height"))&&!isNaN(e.attr("width"))||(e.attr("height",9),e.attr("width",16));var i=("object"===this.tagName.toLowerCase()||e.attr("height")&&!isNaN(parseInt(e.attr("height"),10))?parseInt(e.attr("height"),10):e.height())/(isNaN(parseInt(e.attr("width"),10))?e.width():parseInt(e.attr("width"),10));if(!e.attr("name")){var n="fitvid"+t.fn.fitVids._count;e.attr("name",n),t.fn.fitVids._count++}e.wrap('<div class="fluid-width-video-wrapper"></div>').parent(".fluid-width-video-wrapper").css("padding-top",100*i+"%"),e.removeAttr("height").removeAttr("width")}}))}))},t.fn.fitVids._count=0}(window.jQuery||window.Zepto);
siteorigin-panels.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Page Builder by SiteOrigin
4
  Plugin URI: https://siteorigin.com/page-builder/
5
  Description: A drag and drop, responsive page builder that simplifies building your website.
6
- Version: 2.11.8
7
  Author: SiteOrigin
8
  Author URI: https://siteorigin.com
9
  License: GPL3
@@ -11,7 +11,7 @@ License URI: http://www.gnu.org/licenses/gpl.html
11
  Donate link: http://siteorigin.com/page-builder/#donate
12
  */
13
 
14
- define( 'SITEORIGIN_PANELS_VERSION', '2.11.8' );
15
  if ( ! defined( 'SITEORIGIN_PANELS_JS_SUFFIX' ) ) {
16
  define( 'SITEORIGIN_PANELS_JS_SUFFIX', '.min' );
17
  }
@@ -211,6 +211,13 @@ class SiteOrigin_Panels {
211
  if ( is_admin() && function_exists( 'amp_bootstrap_plugin' ) ) {
212
  require_once plugin_dir_path( __FILE__ ) . 'compat/amp.php';
213
  }
 
 
 
 
 
 
 
214
  }
215
 
216
  /**
@@ -377,9 +384,23 @@ class SiteOrigin_Panels {
377
  }
378
 
379
  $post_id = $this->get_post_id();
380
-
381
- // Check if this post has panels_data
382
  $panels_data = get_post_meta( $post_id, 'panels_data', true );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
383
  if ( $panels_data && ! empty( $panels_data['widgets'] ) ) {
384
  $raw_excerpt = '';
385
  $excerpt_length = apply_filters( 'excerpt_length', 55 );
@@ -399,6 +420,14 @@ class SiteOrigin_Panels {
399
  if ( $this->get_localized_word_count( $text ) >= $excerpt_length ) {
400
  break;
401
  }
 
 
 
 
 
 
 
 
402
  }
403
  }
404
 
3
  Plugin Name: Page Builder by SiteOrigin
4
  Plugin URI: https://siteorigin.com/page-builder/
5
  Description: A drag and drop, responsive page builder that simplifies building your website.
6
+ Version: 2.12.0
7
  Author: SiteOrigin
8
  Author URI: https://siteorigin.com
9
  License: GPL3
11
  Donate link: http://siteorigin.com/page-builder/#donate
12
  */
13
 
14
+ define( 'SITEORIGIN_PANELS_VERSION', '2.12.0' );
15
  if ( ! defined( 'SITEORIGIN_PANELS_JS_SUFFIX' ) ) {
16
  define( 'SITEORIGIN_PANELS_JS_SUFFIX', '.min' );
17
  }
211
  if ( is_admin() && function_exists( 'amp_bootstrap_plugin' ) ) {
212
  require_once plugin_dir_path( __FILE__ ) . 'compat/amp.php';
213
  }
214
+
215
+ $lazy_load_settings = get_option( 'rocket_lazyload_options' );
216
+ $load_lazy_load_compat = defined( 'ROCKET_LL_VERSION' ) && ! empty( $lazy_load_settings ) && ! empty( $lazy_load_settings['images'] );
217
+
218
+ if ( $load_lazy_load_compat || apply_filters( 'siteorigin_lazyload_compat', false ) ) {
219
+ require_once plugin_dir_path( __FILE__ ) . 'compat/lazy-load-backgrounds.php';
220
+ }
221
  }
222
 
223
  /**
384
  }
385
 
386
  $post_id = $this->get_post_id();
 
 
387
  $panels_data = get_post_meta( $post_id, 'panels_data', true );
388
+
389
+ // If no panels_data is detected, check if the post has blocks.
390
+ if ( empty( $panels_data ) ) {
391
+ if ( has_blocks( get_the_content() ) ) {
392
+ $parsed_content = parse_blocks( get_the_content() );
393
+ // Check if the first block is an SO Layout Block, and extract panels_data if it is.
394
+ if (
395
+ $parsed_content[0]['blockName'] == 'siteorigin-panels/layout-block' &&
396
+ isset( $parsed_content[0]['attrs'] ) &&
397
+ ! empty( $parsed_content[0]['attrs']['panelsData'] )
398
+ ) {
399
+ $panels_data = $parsed_content[0]['attrs']['panelsData'];
400
+ }
401
+ }
402
+ }
403
+
404
  if ( $panels_data && ! empty( $panels_data['widgets'] ) ) {
405
  $raw_excerpt = '';
406
  $excerpt_length = apply_filters( 'excerpt_length', 55 );
420
  if ( $this->get_localized_word_count( $text ) >= $excerpt_length ) {
421
  break;
422
  }
423
+
424
+ // Check for more quicktag.
425
+ if ( strpos( $text, '<!--more' ) !== false ) {
426
+ // Only return everything prior to more quicktag.
427
+ $raw_excerpt = explode( '<!--more', $text )[0];
428
+ $excerpt_length = $this->get_localized_word_count( $raw_excerpt );
429
+ break;
430
+ }
431
  }
432
  }
433
 
tpl/js-templates.php CHANGED
@@ -9,29 +9,29 @@ $layouts = apply_filters( 'siteorigin_panels_prebuilt_layouts', array() );
9
 
10
  <div class="so-builder-toolbar">
11
 
12
- <a class="so-tool-button so-widget-add" title="<?php esc_attr_e( 'Add Widget', 'siteorigin-panels' ) ?>">
13
  <span class="so-panels-icon so-panels-icon-add-widget"></span>
14
  <span class="so-button-text"><?php esc_html_e('Add Widget', 'siteorigin-panels') ?></span>
15
  </a>
16
 
17
- <a class="so-tool-button so-row-add" title="<?php esc_attr_e( 'Add Row', 'siteorigin-panels' ) ?>">
18
  <span class="so-panels-icon so-panels-icon-add-row"></span>
19
  <span class="so-button-text"><?php esc_html_e('Add Row', 'siteorigin-panels') ?></span>
20
  </a>
21
 
22
- <a class="so-tool-button so-prebuilt-add" title="<?php esc_attr_e( 'Prebuilt Layouts', 'siteorigin-panels' ) ?>">
23
  <span class="so-panels-icon so-panels-icon-layouts"></span>
24
  <span class="so-button-text"><?php esc_html_e('Layouts', 'siteorigin-panels') ?></span>
25
  </a>
26
 
27
  <?php if( !empty($post) ) : ?>
28
 
29
- <a class="so-tool-button so-history" style="display: none" title="<?php esc_attr_e( 'Edit History', 'siteorigin-panels' ) ?>">
30
  <span class="so-panels-icon so-panels-icon-history"></span>
31
  <span class="so-button-text"><?php _e('History', 'siteorigin-panels') ?></span>
32
  </a>
33
 
34
- <a class="so-tool-button so-live-editor" style="display: none" title="<?php esc_html_e( 'Live Editor', 'siteorigin-panels' ) ?>">
35
  <span class="so-panels-icon so-panels-icon-live-editor"></span>
36
  <span class="so-button-text"><?php _e('Live Editor', 'siteorigin-panels') ?></span>
37
  </a>
@@ -39,13 +39,13 @@ $layouts = apply_filters( 'siteorigin_panels_prebuilt_layouts', array() );
39
  <?php endif; ?>
40
 
41
  <?php if( SiteOrigin_Panels::display_premium_teaser() ) : ?>
42
- <a class="so-tool-button so-learn" title="<?php esc_attr_e( 'Page Builder Addons', 'siteorigin-panels' ) ?>" href="<?php echo esc_url( SiteOrigin_Panels::premium_url() ) ?>" target="_blank" rel="noopener noreferrer" style="margin-left: 10px;">
43
  <span class="so-panels-icon so-panels-icon-addons"></span>
44
  <span class="so-button-text"><?php esc_html_e( 'Addons', 'siteorigin-panels' ) ?></span>
45
  </a>
46
  <?php endif; ?>
47
 
48
- <a class="so-switch-to-standard"><?php _e('Revert to Editor', 'siteorigin-panels') ?></a>
49
 
50
  </div>
51
 
@@ -88,7 +88,7 @@ $layouts = apply_filters( 'siteorigin_panels_prebuilt_layouts', array() );
88
  <span class="so-row-move so-tool-button"><span class="so-panels-icon so-panels-icon-move"></span></span>
89
 
90
  <span class="so-dropdown-wrapper">
91
- <a class="so-row-settings so-tool-button"><span class="so-panels-icon so-panels-icon-settings"></span></a>
92
 
93
  <div class="so-dropdown-links-wrapper">
94
  <ul>
@@ -133,14 +133,14 @@ $layouts = apply_filters( 'siteorigin_panels_prebuilt_layouts', array() );
133
  </script>
134
 
135
  <script type="text/template" id="siteorigin-panels-builder-widget">
136
- <div class="so-widget ui-draggable" data-widget-class="{{%- widget_class %}}">
137
  <div class="so-widget-wrapper">
138
  <div class="title">
139
  <h4>{{%= title %}}</h4>
140
  <span class="actions">
141
- <a class="widget-edit"><?php _e('Edit', 'siteorigin-panels') ?></a>
142
- <a class="widget-duplicate"><?php _e('Duplicate', 'siteorigin-panels') ?></a>
143
- <a class="widget-delete"><?php _e('Delete', 'siteorigin-panels') ?></a>
144
  </span>
145
  </div>
146
  <small class="description">{{%= description %}}</small>
@@ -159,20 +159,13 @@ $layouts = apply_filters( 'siteorigin_panels_prebuilt_layouts', array() );
159
  <div class="so-panels-icon so-panels-icon-{{%- dialogIcon %}}"></div>
160
  {{% } %}}
161
  <h3 class="so-title{{% if ( editableLabel ) print(' so-title-editable')%}}"
162
- {{% if ( editableLabel ) print('contenteditable="true" spellcheck="false" tabIndex="1"')%}}
163
  >{{%= title %}}</h3>
164
  <div class="so-title-bar-buttons">
165
  <a class="so-previous so-nav"><span class="so-dialog-icon"></span></a>
166
  <a class="so-next so-nav"><span class="so-dialog-icon"></span></a>
167
  <a class="so-show-right-sidebar"><span class="so-dialog-icon"></span></a>
168
- <a class="so-close"><span class="so-dialog-icon"></span></a>
169
- </div>
170
- </div>
171
-
172
- <div class="so-toolbar">
173
- <div class="so-status">{{% if(typeof status != 'undefined') print(status); %}}</div>
174
- <div class="so-buttons">
175
- {{%= buttons %}}
176
  </div>
177
  </div>
178
 
@@ -188,6 +181,13 @@ $layouts = apply_filters( 'siteorigin_panels_prebuilt_layouts', array() );
188
  {{%= content %}}
189
  </div>
190
 
 
 
 
 
 
 
 
191
  </div>
192
  </script>
193
 
@@ -203,7 +203,7 @@ $layouts = apply_filters( 'siteorigin_panels_prebuilt_layouts', array() );
203
  </div>
204
 
205
  <div class="buttons">
206
- <input type="button" class="button-primary so-close" value="<?php esc_attr_e('Done', 'siteorigin-panels') ?>" />
207
  </div>
208
 
209
  </div>
@@ -233,7 +233,7 @@ $layouts = apply_filters( 'siteorigin_panels_prebuilt_layouts', array() );
233
  </div>
234
 
235
  <div class="buttons">
236
- <input type="button" class="button-primary so-close" value="<?php esc_attr_e('Close', 'siteorigin-panels') ?>" />
237
  </div>
238
 
239
  </div>
@@ -241,7 +241,7 @@ $layouts = apply_filters( 'siteorigin_panels_prebuilt_layouts', array() );
241
 
242
  <script type="text/template" id="siteorigin-panels-dialog-widgets-widget">
243
  <li class="widget-type">
244
- <div class="widget-type-wrapper">
245
  <h3>{{%= title %}}</h3>
246
  <small class="description">{{%= description %}}</small>
247
  </div>
@@ -264,11 +264,11 @@ $layouts = apply_filters( 'siteorigin_panels_prebuilt_layouts', array() );
264
 
265
  <div class="buttons">
266
  <div class="action-buttons">
267
- <a class="so-delete"><?php _e('Delete', 'siteorigin-panels') ?></a>
268
- <a class="so-duplicate"><?php _e('Duplicate', 'siteorigin-panels') ?></a>
269
  </div>
270
 
271
- <input type="button" class="button-primary so-close" value="<?php esc_attr_e('Done', 'siteorigin-panels') ?>" />
272
  </div>
273
 
274
  </div>
@@ -349,15 +349,15 @@ $layouts = apply_filters( 'siteorigin_panels_prebuilt_layouts', array() );
349
  <div class="buttons">
350
  {{% if( dialogType == 'edit' ) { %}}
351
  <div class="action-buttons">
352
- <a class="so-delete"><?php _e('Delete', 'siteorigin-panels') ?></a>
353
- <a class="so-duplicate"><?php _e('Duplicate', 'siteorigin-panels') ?></a>
354
  </div>
355
  {{% } %}}
356
 
357
  {{% if( dialogType == 'create' ) { %}}
358
- <input type="button" class="button-primary so-insert" value="<?php esc_attr_e('Insert', 'siteorigin-panels') ?>" />
359
  {{% } else { %}}
360
- <input type="button" class="button-primary so-save" value="<?php esc_attr_e('Done', 'siteorigin-panels') ?>" />
361
  {{% } %}}
362
  </div>
363
 
@@ -367,7 +367,7 @@ $layouts = apply_filters( 'siteorigin_panels_prebuilt_layouts', array() );
367
  <script type="text/template" id="siteorigin-panels-dialog-row-cell-preview">
368
  <div class="preview-cell" style="width: {{%- weight*100 %}}%">
369
  <div class="preview-cell-in">
370
- <div class="preview-cell-weight">{{% print(Math.round(weight * 1000) / 10) %}}</div>
371
  </div>
372
  </div>
373
  </script>
@@ -417,9 +417,9 @@ $layouts = apply_filters( 'siteorigin_panels_prebuilt_layouts', array() );
417
 
418
  <div class="so-dropdown-links-wrapper hidden">
419
  <ul class="so-layout-position">
420
- <li><a class="so-toolbar-button" data-value="after"><?php esc_html_e('Insert after', 'siteorigin-panels') ?></a></li>
421
- <li><a class="so-toolbar-button" data-value="before"><?php esc_html_e('Insert before', 'siteorigin-panels') ?></a></li>
422
- <li><a class="so-toolbar-button so-needs-confirm" data-value="replace" data-confirm="<?php esc_attr_e('Are you sure?', 'siteorigin-panels') ?>"><?php esc_html_e('Replace current', 'siteorigin-panels') ?></a></li>
423
  </ul>
424
  </div>
425
  </span>
@@ -449,7 +449,7 @@ $layouts = apply_filters( 'siteorigin_panels_prebuilt_layouts', array() );
449
  {{% } else { %}}
450
  {{% _.each(items, function(item) { %}}
451
  <div class="so-directory-item" data-layout-id="{{%- item.id %}}" data-layout-type="{{%- item.type %}}">
452
- <div class="so-directory-item-wrapper">
453
  <div class="so-screenshot" data-src="{{%- item.screenshot %}}">
454
  <div class="so-panels-loading so-screenshot-wrapper"></div>
455
  </div>
@@ -534,7 +534,7 @@ $layouts = apply_filters( 'siteorigin_panels_prebuilt_layouts', array() );
534
  </script>
535
 
536
  <script type="text/template" id="siteorigin-panels-dialog-history-entry">
537
- <div class="history-entry">
538
  <h3>{{%= title %}}{{% if( count > 1 ) { %}} <span class="count">({{%= count %}})</span>{{% } %}}</h3>
539
  <div class="timesince"></div>
540
  </div>
@@ -555,13 +555,13 @@ $layouts = apply_filters( 'siteorigin_panels_prebuilt_layouts', array() );
555
  ><?php esc_html_e('Update', 'siteorigin-panels') ?></button>
556
  <button class="live-editor-close button-secondary"><?php esc_html_e('Close', 'siteorigin-panels') ?></button>
557
 
558
- <a class="live-editor-mode live-editor-desktop so-active" title="<?php esc_attr_e( 'Toggle desktop mode', 'siteorigin-panels' ) ?>" data-mode="desktop" data-width="100%" >
559
  <span class="dashicons dashicons-desktop"></span>
560
  </a>
561
- <a class="live-editor-mode live-editor-tablet" title="<?php esc_attr_e( 'Toggle tablet mode', 'siteorigin-panels' ) ?>" data-mode="tablet" data-width="720px">
562
  <span class="dashicons dashicons-tablet"></span>
563
  </a>
564
- <a class="live-editor-mode live-editor-mobile" title="<?php esc_attr_e( 'Toggle mobile mode', 'siteorigin-panels' ) ?>" data-mode="mobile" data-width="320px">
565
  <span class="dashicons dashicons-smartphone"></span>
566
  </a>
567
 
9
 
10
  <div class="so-builder-toolbar">
11
 
12
+ <a class="so-tool-button so-widget-add" title="<?php esc_attr_e( 'Add Widget', 'siteorigin-panels' ) ?>" tabindex="0">
13
  <span class="so-panels-icon so-panels-icon-add-widget"></span>
14
  <span class="so-button-text"><?php esc_html_e('Add Widget', 'siteorigin-panels') ?></span>
15
  </a>
16
 
17
+ <a class="so-tool-button so-row-add" title="<?php esc_attr_e( 'Add Row', 'siteorigin-panels' ) ?>" tabindex="0">
18
  <span class="so-panels-icon so-panels-icon-add-row"></span>
19
  <span class="so-button-text"><?php esc_html_e('Add Row', 'siteorigin-panels') ?></span>
20
  </a>
21
 
22
+ <a class="so-tool-button so-prebuilt-add" title="<?php esc_attr_e( 'Prebuilt Layouts', 'siteorigin-panels' ) ?>" tabindex="0">
23
  <span class="so-panels-icon so-panels-icon-layouts"></span>
24
  <span class="so-button-text"><?php esc_html_e('Layouts', 'siteorigin-panels') ?></span>
25
  </a>
26
 
27
  <?php if( !empty($post) ) : ?>
28
 
29
+ <a class="so-tool-button so-history" style="display: none" title="<?php esc_attr_e( 'Edit History', 'siteorigin-panels' ) ?>" tabindex="0">
30
  <span class="so-panels-icon so-panels-icon-history"></span>
31
  <span class="so-button-text"><?php _e('History', 'siteorigin-panels') ?></span>
32
  </a>
33
 
34
+ <a class="so-tool-button so-live-editor" style="display: none" title="<?php esc_html_e( 'Live Editor', 'siteorigin-panels' ) ?>" tabindex="0">
35
  <span class="so-panels-icon so-panels-icon-live-editor"></span>
36
  <span class="so-button-text"><?php _e('Live Editor', 'siteorigin-panels') ?></span>
37
  </a>
39
  <?php endif; ?>
40
 
41
  <?php if( SiteOrigin_Panels::display_premium_teaser() ) : ?>
42
+ <a class="so-tool-button so-learn" title="<?php esc_attr_e( 'Page Builder Addons', 'siteorigin-panels' ) ?>" href="<?php echo esc_url( SiteOrigin_Panels::premium_url() ) ?>" target="_blank" rel="noopener noreferrer" style="margin-left: 10px;" tabindex="0">
43
  <span class="so-panels-icon so-panels-icon-addons"></span>
44
  <span class="so-button-text"><?php esc_html_e( 'Addons', 'siteorigin-panels' ) ?></span>
45
  </a>
46
  <?php endif; ?>
47
 
48
+ <a class="so-switch-to-standard" tabindex="0"><?php _e('Revert to Editor', 'siteorigin-panels') ?></a>
49
 
50
  </div>
51
 
88
  <span class="so-row-move so-tool-button"><span class="so-panels-icon so-panels-icon-move"></span></span>
89
 
90
  <span class="so-dropdown-wrapper">
91
+ <a class="so-row-settings so-tool-button" tabindex="0"><span class="so-panels-icon so-panels-icon-settings"></span></a>
92
 
93
  <div class="so-dropdown-links-wrapper">
94
  <ul>
133
  </script>
134
 
135
  <script type="text/template" id="siteorigin-panels-builder-widget">
136
+ <div class="so-widget ui-draggable" tabindex="0" data-widget-class="{{%- widget_class %}}">
137
  <div class="so-widget-wrapper">
138
  <div class="title">
139
  <h4>{{%= title %}}</h4>
140
  <span class="actions">
141
+ <a class="widget-edit" tabindex="0"><?php _e('Edit', 'siteorigin-panels') ?></a>
142
+ <a class="widget-duplicate" tabindex="0"><?php _e('Duplicate', 'siteorigin-panels') ?></a>
143
+ <a class="widget-delete" tabindex="0"><?php _e('Delete', 'siteorigin-panels') ?></a>
144
  </span>
145
  </div>
146
  <small class="description">{{%= description %}}</small>
159
  <div class="so-panels-icon so-panels-icon-{{%- dialogIcon %}}"></div>
160
  {{% } %}}
161
  <h3 class="so-title{{% if ( editableLabel ) print(' so-title-editable')%}}"
162
+ {{% if ( editableLabel ) print('contenteditable="true" spellcheck="false" tabIndex="0"')%}}
163
  >{{%= title %}}</h3>
164
  <div class="so-title-bar-buttons">
165
  <a class="so-previous so-nav"><span class="so-dialog-icon"></span></a>
166
  <a class="so-next so-nav"><span class="so-dialog-icon"></span></a>
167
  <a class="so-show-right-sidebar"><span class="so-dialog-icon"></span></a>
168
+ <a class="so-close" tabindex="0"><span class="so-dialog-icon"></span></a>
 
 
 
 
 
 
 
169
  </div>
170
  </div>
171
 
181
  {{%= content %}}
182
  </div>
183
 
184
+ <div class="so-toolbar">
185
+ <div class="so-status">{{% if(typeof status != 'undefined') print(status); %}}</div>
186
+ <div class="so-buttons">
187
+ {{%= buttons %}}
188
+ </div>
189
+ </div>
190
+
191
  </div>
192
  </script>
193
 
203
  </div>
204
 
205
  <div class="buttons">
206
+ <input type="button" class="button-primary so-close" tabindex="0" value="<?php esc_attr_e('Done', 'siteorigin-panels') ?>" />
207
  </div>
208
 
209
  </div>
233
  </div>
234
 
235
  <div class="buttons">
236
+ <input type="button" class="button-primary so-close" tabindex="0" value="<?php esc_attr_e('Close', 'siteorigin-panels') ?>" />
237
  </div>
238
 
239
  </div>
241
 
242
  <script type="text/template" id="siteorigin-panels-dialog-widgets-widget">
243
  <li class="widget-type">
244
+ <div class="widget-type-wrapper" tabindex="0">
245
  <h3>{{%= title %}}</h3>
246
  <small class="description">{{%= description %}}</small>
247
  </div>
264
 
265
  <div class="buttons">
266
  <div class="action-buttons">
267
+ <a class="so-delete" tabindex="0"><?php _e('Delete', 'siteorigin-panels') ?></a>
268
+ <a class="so-duplicate" tabindex="0"><?php _e('Duplicate', 'siteorigin-panels') ?></a>
269
  </div>
270
 
271
+ <input type="button" class="button-primary so-close" tabindex="0" value="<?php esc_attr_e('Done', 'siteorigin-panels') ?>" />
272
  </div>
273
 
274
  </div>
349
  <div class="buttons">
350
  {{% if( dialogType == 'edit' ) { %}}
351
  <div class="action-buttons">
352
+ <a class="so-delete" tabindex="0"><?php _e('Delete', 'siteorigin-panels') ?></a>
353
+ <a class="so-duplicate" tabindex="0"><?php _e('Duplicate', 'siteorigin-panels') ?></a>
354
  </div>
355
  {{% } %}}
356
 
357
  {{% if( dialogType == 'create' ) { %}}
358
+ <input type="button" class="button-primary so-insert" tabindex="0" value="<?php esc_attr_e('Insert', 'siteorigin-panels') ?>" />
359
  {{% } else { %}}
360
+ <input type="button" class="button-primary so-save" tabindex="0" value="<?php esc_attr_e('Done', 'siteorigin-panels') ?>" />
361
  {{% } %}}
362
  </div>
363
 
367
  <script type="text/template" id="siteorigin-panels-dialog-row-cell-preview">
368
  <div class="preview-cell" style="width: {{%- weight*100 %}}%">
369
  <div class="preview-cell-in">
370
+ <div class="preview-cell-weight" tabIndex="0">{{% print(Math.round(weight * 1000) / 10) %}}</div>
371
  </div>
372
  </div>
373
  </script>
417
 
418
  <div class="so-dropdown-links-wrapper hidden">
419
  <ul class="so-layout-position">
420
+ <li><a class="so-toolbar-button" data-value="after" tabindex="0"><?php esc_html_e('Insert after', 'siteorigin-panels') ?></a></li>
421
+ <li><a class="so-toolbar-button" data-value="before" tabindex="0"><?php esc_html_e('Insert before', 'siteorigin-panels') ?></a></li>
422
+ <li><a class="so-toolbar-button so-needs-confirm" data-value="replace" data-confirm="<?php esc_attr_e('Are you sure?', 'siteorigin-panels') ?>" tabindex="0"><?php esc_html_e('Replace current', 'siteorigin-panels') ?></a></li>
423
  </ul>
424
  </div>
425
  </span>
449
  {{% } else { %}}
450
  {{% _.each(items, function(item) { %}}
451
  <div class="so-directory-item" data-layout-id="{{%- item.id %}}" data-layout-type="{{%- item.type %}}">
452
+ <div class="so-directory-item-wrapper" tabindex="0">
453
  <div class="so-screenshot" data-src="{{%- item.screenshot %}}">
454
  <div class="so-panels-loading so-screenshot-wrapper"></div>
455
  </div>
534
  </script>
535
 
536
  <script type="text/template" id="siteorigin-panels-dialog-history-entry">
537
+ <div class="history-entry" tabindex="0">
538
  <h3>{{%= title %}}{{% if( count > 1 ) { %}} <span class="count">({{%= count %}})</span>{{% } %}}</h3>
539
  <div class="timesince"></div>
540
  </div>
555
  ><?php esc_html_e('Update', 'siteorigin-panels') ?></button>
556
  <button class="live-editor-close button-secondary"><?php esc_html_e('Close', 'siteorigin-panels') ?></button>
557
 
558
+ <a class="live-editor-mode live-editor-desktop so-active" title="<?php esc_attr_e( 'Toggle desktop mode', 'siteorigin-panels' ) ?>" data-mode="desktop" data-width="100%" tabindex="0">
559
  <span class="dashicons dashicons-desktop"></span>
560
  </a>
561
+ <a class="live-editor-mode live-editor-tablet" title="<?php esc_attr_e( 'Toggle tablet mode', 'siteorigin-panels' ) ?>" data-mode="tablet" data-width="720px" tabindex="0">
562
  <span class="dashicons dashicons-tablet"></span>
563
  </a>
564
+ <a class="live-editor-mode live-editor-mobile" title="<?php esc_attr_e( 'Toggle mobile mode', 'siteorigin-panels' ) ?>" data-mode="mobile" data-width="320px" tabindex="0">
565
  <span class="dashicons dashicons-smartphone"></span>
566
  </a>
567
 
widgets/widgets.php CHANGED
@@ -183,10 +183,10 @@ abstract class SiteOrigin_Panels_Widget extends WP_Widget{
183
  break;
184
  case 'textarea' :
185
  if(empty($field_args['height'])) $field_args['height'] = 6;
186
- ?><textarea class="widefat" id="<?php echo $this->get_field_id( $field_id ); ?>" name="<?php echo $this->get_field_name( $field_id ); ?>" rows="<?php echo intval($field_args['height']) ?>"><?php echo esc_textarea($instance[$field_id]) ?></textarea><?php
187
  break;
188
  case 'number' :
189
- ?><input type="number" class="small-text" id="<?php echo $this->get_field_id( $field_id ); ?>" name="<?php echo $this->get_field_name( $field_id ); ?>" value="<?php echo floatval($instance[$field_id]) ?>" /><?php
190
  break;
191
  case 'checkbox' :
192
  ?><input type="checkbox" class="small-text" id="<?php echo $this->get_field_id( $field_id ); ?>" name="<?php echo $this->get_field_name( $field_id ); ?>" <?php checked(!empty($instance[$field_id])) ?>/><?php
183
  break;
184
  case 'textarea' :
185
  if(empty($field_args['height'])) $field_args['height'] = 6;
186
+ ?><textarea class="widefat" id="<?php echo $this->get_field_id( $field_id ); ?>" name="<?php echo $this->get_field_name( $field_id ); ?>" rows="<?php echo (int) $field_args['height']; ?>"><?php echo esc_textarea($instance[$field_id]) ?></textarea><?php
187
  break;
188
  case 'number' :
189
+ ?><input type="number" class="small-text" id="<?php echo $this->get_field_id( $field_id ); ?>" name="<?php echo $this->get_field_name( $field_id ); ?>" value="<?php echo (float) $instance[$field_id]; ?>" /><?php
190
  break;
191
  case 'checkbox' :
192
  ?><input type="checkbox" class="small-text" id="<?php echo $this->get_field_id( $field_id ); ?>" name="<?php echo $this->get_field_name( $field_id ); ?>" <?php checked(!empty($instance[$field_id])) ?>/><?php