=== Nimble Page Builder ===
Contributors: nikeo, d4z_c0nf
Author URI: https://nimblebuilder.com
Plugin URI: https://wordpress.org/plugins/nimble-builder/
Tags: page builder, visual editor, customizer, drag and drop, header, footer, landing page, contact form, grid, post grid
Requires at least: 4.7
Requires PHP: 5.4
Tested up to: 5.6
Stable tag: 2.1.35
License: GPLv3
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=8FMNQPU36U27J&source=url

Simple and smart companion that allows you to insert sections into any existing page, create landing pages or entire websites including header and footer.

== Description ==
= What is Nimble Page Builder ? =
**[Nimble Page Builder](https://nimblebuilder.com/?utm_source=wp-org&utm_campaign=nimble-builder-page&utm_medium=link)** is a fast and agile page builder plugin for WordPress. Nimble Builder uses the live customizer which is the native and powerful WordPress interface for real-time design.
The plugin allows you to easily drag-and-drop modules like text-editor, post grids, images, contact forms, maps, icons, or beautiful pre-built sections with a [parallax background](https://docs.presscustomizr.com/article/380-how-to-set-a-parallax-background-for-a-section-in-wordpress-with-the-nimble-builder/?utm_source=wp-org&utm_campaign=nimble-builder-page&utm_medium=link), into any page of your site. You can edit your sections in real-time, and then click "publish" when you are happy with the result, or save for later.

Watch the video below to see how this [demo page](https://demo.presscustomizr.com/nimble-builder/?utm_source=wp-org&utm_campaign=nimble-builder-page&utm_medium=link) has been built !

[vimeo https://vimeo.com/328473405]

= Works on any page of your site and with all WordPress themes =
Nimble Builder allows you to insert sections in any context of your site : home page, single post or page, category or tag page, even search results or [404 pages](https://docs.presscustomizr.com/article/372-design-your-404-page-with-the-nimble-builder/?utm_source=wp-org&utm_campaign=nimble-builder-page&utm_medium=link). No only that, but you can also decide to [start designing from a blank page](https://docs.presscustomizr.com/article/371-how-to-start-building-from-a-blank-page-with-the-wordpress-nimble-builder/?utm_source=wp-org&utm_campaign=nimble-builder-page&utm_medium=link) on any page of your site, and even create a custom header and footer. Nimble Builder uses native WordPress action hooks, which makes it compatible with all WordPress themes.

= Live demos =
* Example of [integration with the Customizr theme](https://demo.presscustomizr.com/nimble-builder/?utm_source=wp-org&utm_campaign=nimble-builder-page&utm_medium=link)
* Example of [integration with the Hueman theme](https://demo-hueman.presscustomizr.com/nimble-builder/?utm_source=wp-org&utm_campaign=nimble-builder-page&utm_medium=link)
* Example of a [404 page created with Nimble Builder](https://docs.presscustomizr.com/article/372-design-your-404-page-with-the-nimble-builder/?utm_source=wp-org&utm_campaign=nimble-builder-page&utm_medium=link), header and footer disabled.

= Features overview =
* **Drag and drop neatly pre-designed sections** and customize them in real-time preview.
* **Works in any WordPress contexts** : home, pages, posts, custom post types, archives, author pages, search page, ...
* Create content, style, move / duplicate / remove elements **in real-time preview**.
* **Includes many content modules** : classic text editor, image, column layouts, contact form, button, icons, map, html code, WordPress widget area, menu, and more.
* **Insert engaging [post grids](https://docs.presscustomizr.com/article/393-how-to-add-post-grids-to-any-wordpress-page-with-nimble-builder/?utm_source=wp-org&utm_campaign=nimble-builder-page&utm_medium=link)** on any page, looking great on desktop and mobile devices.
* Use **full width image or video backgrounds** for your sections, and [enable a parallax effect](https://docs.presscustomizr.com/article/380-how-to-set-a-parallax-background-for-a-section-in-wordpress-with-the-nimble-builder/?utm_source=wp-org&utm_campaign=nimble-builder-page&utm_medium=link).
* **Easily [customize your content specifically for mobile devices](https://docs.presscustomizr.com/article/343-designing-for-mobile-devices-with-wordpress-nimble-builder/?utm_source=wp-org&utm_campaign=nimble-builder-page&utm_medium=link)** : change the responsive breakpoint, adapt font-size, spacing, alignment, column layouts, in real-time preview.
* **Customize any text [with Google Fonts](https://docs.presscustomizr.com/article/364-how-to-use-google-fonts-with-the-nimble-builder/?utm_source=wp-org&utm_campaign=nimble-builder-page&utm_medium=link)**.
* Add **[custom CSS](https://docs.presscustomizr.com/article/409-how-to-add-custom-css-to-a-specific-page-of-your-wordpress-site/?utm_source=wp-org&utm_campaign=nimble-builder-page&utm_medium=link)** to any specific page of your site ( and only to this page ) : post, page, archive, 404 page, WooCommerce product, etc.
* **[Export / Import](https://docs.presscustomizr.com/article/391-how-to-export-and-import-templates-with-nimble-builder)** : re-use your sections in other pages and between sites.
* **[Embed shortcodes](https://docs.presscustomizr.com/article/350-how-to-use-shortcodes-from-other-plugins-with-the-nimble-builder-plugin/?utm_source=wp-org&utm_medium=link&utm_campaign=nimble-builder-page) from other plugins**, and see the result in real-time preview.
* Nimble Builder automatically generates responsive HTML markup for a **pixel-perfect rendering on smartphones and tablets**.
* Nimble Builder leverages the WordPress live customizer features for auto-drafting and schedule publishing. You can safely build and save drafts of your content before deploying in production.

= Content modules =
* Headings
* WordPress text editor ( support blocks and shortcodes )
* [Image](https://docs.presscustomizr.com/article/381-how-to-enable-lightbox-on-your-images-with-the-nimble-builder/?utm_source=wp-org&utm_medium=link&utm_campaign=nimble-builder-page)
* Button
* Icon
* Post Grid
* Image Carousel
* [Contact Form](https://docs.presscustomizr.com/article/385-how-to-enable-recaptcha-protection-against-spam-in-your-forms-with-the-nimble-builder/?utm_source=wp-org&utm_medium=link&utm_campaign=nimble-builder-page)
* [Google Map](https://docs.presscustomizr.com/article/387-how-to-insert-google-maps-in-your-wordpress-pages-with-the-nimble-builder/?utm_source=wp-org&utm_medium=link&utm_campaign=nimble-builder-page)
* Menu
* Social Profiles
* Divider
* Spacer
* Columns
* Quote
* Widget zone
* Accordion
* Shortcode
* Tabs ( coming soon )
* ... and more to come !

= Getting started =
Once [installed](https://docs.presscustomizr.com/article/347-installing-the-nimble-builder-plugin/?utm_source=wp-org&utm_medium=link&utm_campaign=nimble-builder-page), Nimble Builder can be accessed in the WordPress live customizer. You can [start creating your first section](https://docs.presscustomizr.com/article/337-getting-started-with-the-nimble-builder-plugin/?utm_source=wp-org&utm_medium=link&utm_campaign=nimble-builder-page) !

== Documentation ==
You'll find a growing online knowledge base for Nimble builder here : [Nimble builder documentation](https://docs.presscustomizr.com/collection/334-nimble-builder/?utm_source=wp-org&utm_medium=link&utm_campaign=nimble-builder-page).

* [Getting started with Nimble Page Builder for WordPress](https://docs.presscustomizr.com/article/337-getting-started-with-the-nimble-builder-plugin)
* [Technical requirements for Nimble Builder : server, browser, php version, WP version](https://docs.presscustomizr.com/article/355-technical-requirements-server-browser-php-version-wordpress-version)
* [Designing for mobile devices with the WordPress Nimble Builder](https://docs.presscustomizr.com/article/343-designing-for-mobile-devices-with-wordpress-nimble-builder)
* [How to start building from a blank page with the WordPress Nimble Builder?](https://docs.presscustomizr.com/article/371-how-to-start-building-from-a-blank-page-with-the-wordpress-nimble-builder)
* [How to build your WordPress header and footer with Nimble Builder ?](https://docs.presscustomizr.com/article/358-building-your-header-and-footer-with-the-nimble-builder)
* [How to set a parallax background for a section in WordPress with Nimble Builder ?](https://docs.presscustomizr.com/article/380-how-to-set-a-parallax-background-for-a-section-in-wordpress-with-the-nimble-builder)
* [How to enable reCAPTCHA protection against spam in your forms with Nimble Builder?](https://docs.presscustomizr.com/article/385-how-to-enable-recaptcha-protection-against-spam-in-your-forms-with-the-nimble-builder)
* [How to change the page template with Nimble Builder ?](https://docs.presscustomizr.com/article/339-changing-the-page-template)

== Screenshots ==
1. Creating a page with 3 sections
2. Dragging and dropping a pre-designed section
3. Editing content in live preview
4. Creating columns layouts
5. Customizing a section with an image background
6. Using the section navigator

== Installation ==
1. Install the plugin through the WordPress plugins screen. Or download the plugin, unzip the package and upload it to your /wp-content/plugins/ directory
2. Activate the plugin through the 'Plugins' screen in WordPress
3. Navigate to the WordPress live customizer
4. Look for a drop zone candidate in the previewed page and click on the "+" button to start building your first section of content
5. Drag a module from the left panel and drop it in a drop zone of the previewed page

== Frequently Asked Questions ==
= How do I use Nimble Builder ? =

[Getting started with Nimble Page Builder for WordPress](https://docs.presscustomizr.com/article/337-getting-started-with-the-nimble-builder-plugin/?utm_source=wp-org&utm_medium=link&utm_campaign=nimble-builder-page).

= Can I use Nimble Builder with any theme ? =

Yes, Nimble builder works with any WordPress theme. If you experience any problem with a specific theme, please report it in the [plugin support forum](https://wordpress.org/support/plugin/nimble-builder).

= How to troubleshoot problems with Nimble Builder ? =
1. **Use the latest software versions** : make sure WordPress, Nimble Builder and your theme are all up to date.
2. **Documentation** : try to find a possible solution in our [documentation pages](https://docs.presscustomizr.com/collection/334-nimble-builder/?utm_source=wp-org&utm_medium=link&utm_campaign=nimble-builder-page).
3. **Search the forum** : use the search field on top of the topic list with keywords describing your issue. Another user may have had a similar problem already resolved.
4. **Cache plugin** : if you use a server cache or cache plugin, please clear it’s cache content and disable caching via it’s settings. It is recommended to disable your cache plugin when customizing your site.
5. **Check for plugin conflict** : deactivate all of your plugins. If it fixes the issue, re-activate your plugins one by one, until you identify the plugin in conflict.
6. **Browser** : [clear your browser's cache / history](https://docs.presscustomizr.com/article/309-how-to-clear-your-browsers-cache-cookies-and-history/?utm_source=wp-org&utm_medium=link&utm_campaign=nimble-builder-page). Switch to another browser if needed. Make sure you do not use a browser extension that conflicts with the plugin.
7. **Theme** : try to switch to another WordPress theme, like the default WordPress theme. If you use a child theme, activate the parent theme instead.

We have also published a detailed [troubleshooting guide for Nimble Builder](https://docs.presscustomizr.com/article/351-nimble-troubleshooting-guide/?utm_source=wp-org&utm_medium=link&utm_campaign=nimble-builder-page).

If you can't troubleshoot your issue, please open a new thread in [Nimble Builder support forum](https://wordpress.org/support/plugin/nimble-builder/).

== Upgrade Notice ==
2.1.35 : [Menu module] added collapsible sub-menu items. [performance] prevent concatenating twice the same module stylesheet if used both in local and global stylesheets. [form module] reCaptcha badge not displayed even when global option checked

== Changelog ==
= 2.1.35 January 29th, 2021 =
* fixed : [form module] reCaptcha badge not displayed even when global option checked
* improved : [performance] prevent concatenating twice the same module stylesheet if used both in local and global stylesheets
* added : [mobile menu] collapsible sub-menu items

= 2.1.34 January 25th, 2021 =
* fixed : [Menu module] Submenu items not clickable when option "expand the menu in full width below the menu hamburger icon." is checked

= 2.1.33 January 21, 2021 =
* fixed : [menu module] clicking on a sub menu item doesn't open the link
* added : [user sections] edit icon to modify the title and description of the section

= 2.1.32 January 12, 2021 =
* fixed : [form module] javascript may break after submitting the form when jQuery called too early

= 2.1.31 December 24th, 2020 =
* fixed : [customizer] minor possible bug when initializing NB customization interface

= 2.1.30 December 23rd, 2020 =
* fixed : [dynamic CSS] insufficient specificity when setting section style options
* fixed : [file import] bug when trying to assign sections to missing locations if current page uses a local header/footer
* fixed : [text editor module] line break not preserved when re-opening a text module UI

= 2.1.29 December 12, 2020 =
* fixed : [customizer] minor issue when adding a new section in an empty location
* fixed : [customizer][pre-built sections ui] pre-opened section group is broken
* improved : [user template] added various component to prepare introduction of reusable templates

= 2.1.28 December 3rd 2020 =
* fixed : [js] always check that window.nb_ is defined before trying to emit an event
* fixed : [performance] removed global performance > jQuery options, replaced by PHP boolean constants: NIMBLE_LOAD_JQUERY_ASYNC and NIMBLE_USE_LATEST_JQUERY_VERSION

= 2.1.27 November 24th 2020 =
* fixed : [WP5.7][jquery-migrate] replaced deprecated shorthands and fixed wrong usage $.fn.css() method
* fixed : [carousel module] when customizing the lazy-load preloader is not self-removed
* fixed : [images] removes any additional style attribute added by a theme ( Twenty Twenty one ) or a plugin to the image
* added : [slider module][performances] introduction of a new option to pick an image size
* fixed : [lazyload][performance] Wait and trigger the dom-ready again after 1 second, so we don't miss any image initially below the viewport (can happen if the height of a page element like a slider is modified at dom ready)
* added : [post grid module] grid layout now supports up to 12 columns
* improved : [post grid module] the number of columns by device is now consistent with the global custom breakpoint, and the section custom breakpoint
* improved : [post grid module] default border-radius of post thumbnail now set to 4px by default
* improved : [grid module] adjust default font-size, line-height, color css rules for text blocks

= 2.1.26 November 24th 2020 =
* fixed : [pre-built section] link to demo should not be displayed when not specified
* fixed : [WP 5.6] images in the image module should not be inline styled by third party themes/plugins (as new default theme Twenty Twenty One does it with a filter for example )
* fixed : [WPML translation] compatibility issue with WPML preventing NB to build translated page

= 2.1.24 November 19th 2020 =
* fixed : [WP 5.6][admin][NB button] updated selector of the header toolbar with new in WP5.6 + implement retro-compat with previous versions
* added : [compatibility] Implemented compatibility with the content analyzer of Rank Math SEO plugin
* added : [button module] new options to customize width and height of the button

= 2.1.23 November 17th 2020 =
* fixed : [jQuery][javascript] prepare code for WordPress 5.6+ and removal of jquery migrate
* fixed : fixed : [CSS][default style] headings font-sizes should be styled by default when used in another module than the heading one, like in the rich text module for example

= 2.1.22 November 9th 2020 =
* fixed : [dynamic CSS] a missing input id can break building css rules
* fixed : [global style] global font size not taking precedence over default theme rules in menu items, and ul / ol lists
* fixed : [search form] add max-width rule to search input to reinforce Nimble CSS precedence over active theme/plugins
* fixed : [menu module] removed buttons added with a filter by upcoming Twenty Twenty One theme to top level menu-items
* fixed : [level background] print inline css when customizing instead of relying on data-sek-src
* fixed : [special image][pro] added more specificity to the link CSS rules to prevent override by global link rules
* added : [module,column,section] new z-index option in "Height" options
* added : [links] simple default color CSS transition
* improved : [lazy load] Disable smart load parsing when building in the customizer

= 2.1.21 November 5th 2020 =
* fixed : [Image module] custom width not taken into account if > 100% of the parent element.
* fixed : [link picker][customizer] list of links not visible (opacity set to 0) due to "clearfix" class styled by other plugins

= 2.1.20 October 22nd 2020 =
* fixed : [javascript] replaced javascript alert when jQuery not detected by a console log

= 2.1.19 October 17th 2020 =
* fixed : [CSS] php error when user not logged in when enqueuing CSS stylesheets

= 2.1.18 October 17th 2020 =
* fixed : [javascript][performance] front javascript can break when user activates the ajax load performance option
* added : [front assets][performance] introduction of a new property Nimble_Manager()::page_has_local_or_global_sections, set @template_redirect, which let us know if NB asset are needed on a given page. More efficitent that the previous check which was running several times a recursive walker on the section tree.

= 2.1.17 October 16th 2020 =
* fixed : [global CSS] bug : missing global style options after updating Nimble Builder to v2.1.15+
* added : [customizer][font picker] link to Google fonts showcase

= 2.1.16 October 16th 2020 =
* fixed : [CSS] specificity too low for rules generated for modules
* fixed : [html] attribute data-sek-lazy-bg is added to all levels even when there's no lazy backround to load

= 2.1.15 October 15th, 2020 =
* fixed : [CSS][Button module] border and text color should have more specificity to avoid being overridden by future WP default theme twentytwentyone
* fixed : [customizer preview] some CSS rules for UI buttons are not specific enough when using a theme like twentytwentyone
* fixed : [CSS] global stylesheet may be erased when generating local stylesheet with no global locations
* fixed : [CSS] specificity too low for module dynamic styles, in particular for text CSS rules
* fixed : [CSS][performance]  better performances on front for global options CSS, like text, breakpoint, sections widths
* fixed : [menu module] added more specificity to button style to avoid inheritance of themes or plugins style ( twentytwentyone overrides buttons style )
* added : [CSS] new selector .nb-loc to location wrappers
* added : [CSS][performance] use a new global option to store global style to be rendered inline
* improved : [JS][Performances] reduce main script file + defer loading of partial ones + load when needed only
* improved : [CSS][Global options] implement a better way to print global options stylesheets with a filter 'nimble_set_global_inline_style'
* improved : [performance] preload some front assets like Font Awesome style and fonts
* improved : [performance][js][css] assets for magn. popup, swiper, video bg are now by default loaded by js on front.  WP enqueueing is only used when customizing for those assets.
* improved : [CSS][Performance] implement dynamic module stylesheet concatenation + added a new folder name 'nimble_css' for new concatenated stylesheets  + clean the previous one 'nb_css' + removed global performance option 'use_partial_module_stylesheets'. Fallback on full stylesheet if concatenation broken due to permissions problems.
* removed : [performance] option 'preload_front_scripts', now implemented by default
* removed : [performance] removed php sniffers to detect if we need to load specific assets in favor of a js detection

= 2.1.14 October 6th, 2020 =
* fixed : [performance][Lazy loading] when rendering NB content, remove attr loading="lazy" added to images by WP
* fixed : [scroll to anchor] + [lazyload] => avoid layout shifts problems for page with many images

= 2.1.13 September 30, 2020 =
* fixed : [module settings] horizontal alignment should be customizable without setting a custom width
* added : [prebuilt sections] link to live demo when hovering thumbnail
* improved : [i18n] clean unused translation strings

= 2.1.12 September 28, 2020 =
* fixed : [lazy load] background images off screen are not loaded when lazy load is disabled
* fixed : [image module] an image with an invalid url should not be rendered
* fixed : [shadow on levels] not refreshed when customizing
* fixed : [scroll to anchor] when lazy loading is on, the scroll might not land to the right anchor
* fixed : [carousel module] first image not displayed when customizing with global lazyload disabled BUT slider lazyload enabled
* fixed : [carousel module] adapt image to carousel height broken
* added : [carousel module] new image layout option so that images fill space and are centered without being stretched
* improved : [scroll to anchor] implement scrollIntoView

= 2.1.11 September 26, 2020 =
* fixed : [dynamic css] css value may not be taken into account when typed fast, for example when setting an height in pixels
* fixed : [slider module] horizontal centering broken when slider fills 100% of height
* fixed : [slider module] improved slider image style when chosen option is to adapt image on height
* fixed : [prebuilt sections][performances] removed the get sections action at 'nimble_front_classes_ready'
* fixed : [img module] make sure the html has a minimum height when no image was found
* improved : [dynamic stylesheet] always animate to level when stylesheet is generated
* improved : [dynamic stylesheet][performance] improved the CSS rule generation for level box shadow
* added : [fonts] new web safe font
* added : [image module] introduction of a custom height option
* added: [prebuilt sections] new group of sections "Team" with 2 new prebuilt sections included

= 2.1.10 September 17, 2020 =
* improved : [admin] settings links should point to "Options" tab
* fixed : [accordion module] striping script tags should be moved before parsing video embed, leading to tiktok videos embeds not working

= 2.1.9 September 11th 2020 =
* fixed : php fatal error on front end

= 2.1.8 September 11th 2020 =
* added : [contact form module] introduction of a privacy checkbox for a better GDPR compliancy

= 2.1.7 September 7 2020 =
* improved : Maintenance release, minor admin code improvement.

= 2.1.6 September 1st 2020 =
* fixed : [customizer] fixed possible javascript error when setting a font family
* improved : [admin] Welcome notice doesn't need to be displayed on all screens

= 2.1.5 July 20th 2020 =
* fixed : [compatibility with WP 5.5] wp_make_content_images_responsive is deprecated, replaced by wp_filter_content_tags
* fixed : [compatibility with WP 5.5] adapt customizer color-picker script with latest version of WP 5.5
* improved : [performance] limit the number of transients created by Nimble Builder + clean old unused transients.
* improved : [icon module] added a default line-height of 1em to the icon wrapper

= 2.1.4 July 18th 2020 =
* fixed : [Customizer UI][device switcher] limit scenarii when preview is automatically set back to desktop, while user customizes mobile or tablet preview.

= 2.1.3 July 17th 2020 =
* fixed : [CSS generation][performances] empty stylesheets not always removed from upload sek_css folder. Introduction of a new folder 'nb_css' in /upload to store Nimble dynamic stylesheets.

= 2.1.2 July 7th 2020 =
* fixed : [performance][css] don't generate CSS for inactive locations on a page
* fixed : [menu module] submenu items won't inherit user defined text styles
* fixed : [menu module][mobile menu] make sure users can scroll down mobile menu items if menu wrapper is higher than vh
* fixed : [lazy load][performances] image parsing can break srcset and sizes attributes
* fixed : [UI][Content Picker] Fix all content type displayed in some cases + make sure the content picker is set to "section" when user creates a new section

= 2.1.1 June 17th 2020 =
* fixed : [options] prevent duplicated dismissed pointer in user_meta
* fixed : [admin] wrong url for NB icon in options title
* improved : [developers] allow filtering module params from a plugin
* improved : [developers] allow filtering of NB header CSS classes
* improved : [developers] the way section CSS classes are printed + add a way to filter from a plugin
