/**
     * Define the sections and settings for the Images panel
     */
    function weaverx_customizer_define_image_sections($sections)
    {
        global $wp_customize;
        $panel = 'weaverx_images';
        $image_sections = array();
        $wp_customize->get_section('header_image')->priority = 20000;
        $wp_customize->get_section('header_image')->title = __('Header Banner Images (WP Settings)', 'weaver-xtreme');
        $wp_customize->get_section('header_image')->panel = $panel;
        $wp_customize->get_section('background_image')->priority = 20100;
        $wp_customize->get_section('background_image')->title = __('Site BG Image (WP Settings)', 'weaver-xtreme');
        $wp_customize->get_section('background_image')->panel = $panel;
        /**
         * General
         */
        $image_sections['images-global'] = array('panel' => $panel, 'title' => __('Global Image Settings', 'weaver-xtreme'), 'description' => 'Set Image options for Site Wrapper &amp; Container. Use Colors to set colors.', 'options' => array('images-heading-global' => weaverx_cz_group_title(__('Global Image Settings', 'weaver-xtreme'), __('These settings control images in both the Container (including content and sidebars) and Footer Areas. They do not include the Header Area.', 'weaver-xtreme')), 'media_lib_border_color' => weaverx_cz_coloropt('media_lib_border_color', __('Image Border Color', 'weaver-xtreme'), __('Border color for images in Container and Footer.', 'weaver-xtreme')), 'media_lib_border_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Image Border Width (px)', 'weaver-xtreme'), 'description' => __('Border width for images in Container and Footer. There will be <strong>no</strong> borders unless you set this value above 0px.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 50, 'step' => 1))), 'show_img_shadows' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add Image Shadow', 'weaver-xtreme'), 'description' => __('Add a shadow to images in Container and Footer. Add custom CSS for custom shadow.', 'weaver-xtreme'), 'type' => 'checkbox')), 'restrict_img_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('label' => __('Restrict Borders to Media Library', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('For Container and Footer, restrict border and shadows to images from Media Library. Manually entered &lt;img&gt; HTML without Media Library classes will not have borders.', 'weaver-xtreme'), 'type' => 'checkbox')), 'media_lib_border_color_css' => weaverx_cz_css(__('Custom CSS for Images.', 'weaver-xtreme'), __('Note: this custom CSS will live-update for ALL images, even if the above Restrict Borders is checked.
The normal site view will respect the Restrict Borders setting.', 'weaver-xtreme')), 'caption_color' => weaverx_cz_coloropt('caption_color', __('Caption Text Color', 'weaver-xtreme'), __('Color of captions - e.g., below media images.', 'weaver-xtreme')), 'caption_color_css' => weaverx_cz_css(__('Custom CSS for Captions.', 'weaver-xtreme'))));
        /**
         * Site Header
         */
        $image_sections['images-header'] = array('panel' => $panel, 'title' => __('Header Area', 'weaver-xtreme'), 'options' => array('images-heading-header' => weaverx_cz_heading(__('Site Header', 'weaver-xtreme')), 'header_image_max_width_dec' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 100.0), 'control' => array('control_type' => WEAVERX_PLUS_RANGE_CONTROL, 'label' => __('Maximum Image Width (%)', 'weaver-xtreme') . WEAVERX_PLUS_ICON, 'description' => __('Maximum width of Header Image. Can be useful to change Header Image alignment.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 10, 'max' => 100, 'step' => 0.5))), 'header_actual_size' => weaverx_cz_checkbox(__('Use Actual Image Size', 'weaver-xtreme'), __('Check to use actual header image size. (Default: theme width)', 'weaver-xtreme'), 'plus'), 'header_image_align' => weaverx_cz_select_plus(__('Align Header Image', 'weaver-xtreme'), __('How to align header image - meaningful only when Max Width or Actual Size set.', 'weaver-xtreme'), 'weaverx_cz_choices_align', 'float-left', 'postMessage'), 'link_site_image' => weaverx_cz_checkbox_refresh(__('Header Image Links to Site', 'weaver-xtreme'), __('Check to add a link to site home page for Header Image. Note: If used with <em>Move Title/Tagline over Image</em>, parts of the header image will not be clickable.', 'weaver-xtreme')), 'header_image_height_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh', 'default' => 188), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Suggested Header Image Height (px)', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Change the suggested height of the Header Image. Standard size is 188. This height is only a suggestion, and only affects the clipping window on the Customizer <em>Images &rarr; Header Banner Images<em> panel after you refresh the whole Customize interface. Header images will always be responsively sized. (Default header image width: theme width)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 10, 'max' => 600, 'step' => 1))), 'images-heading-srch' => weaverx_cz_heading(__('Search Box Icon', 'weaver-xtreme'), __('The icon used in search boxes can be changed in the <em>Colors &rarr; Content</em> section.', 'weaver-xtreme')), 'images-heading-altimg' => weaverx_cz_heading(__('Alternate Header Images', 'weaver-xtreme'), __('You can specify alternate header images using the <em>Featured Image Location</em> option on the <em>Images</em> panel, as well as Per Page and Per Post options.', 'weaver-xtreme')), 'images-heading-logo-html' => weaverx_cz_heading(__('Site Logo/HTML', 'weaver-xtreme') . WEAVERX_PLUS_ICON, __('The site Logo/HTML is being deprecated. It is still accessible from the traditional Appearance settings interface.', 'weaver-xtreme'))));
        /**
         * Content
         */
        $image_sections['images-content'] = array('panel' => $panel, 'title' => __('Content', 'weaver-xtreme'), 'description' => __('Images on page and post content.', 'weaver-xtreme'), 'options' => array('images-content-heading' => weaverx_cz_heading(__('General Image Settings', 'weaver-xtreme'), __('General image settings found on the <em>Global Image Settings</em> panel.', 'weaver-xtreme')), 'images-content-FI' => weaverx_cz_group_title(__('Featured Image - Pages', 'weaver-xtreme'), __('Display of Page Featured Images', 'weaver-xtreme')), 'page_fi_location' => weaverx_cz_select(__('Featured Image Location', 'weaver-xtreme'), __('Where to display Featured Image for Pages', 'weaver-xtreme'), 'weaverx_cz_choices_fi_location', 'content-top', 'refresh'), 'page_fi_align' => weaverx_cz_select(__('Align Featured Image', 'weaver-xtreme'), '', 'weaverx_cz_choices_fi_align', 'fi-alignleft', 'refresh'), 'page_fi_hide' => weaverx_cz_select(__('Hide Featured Image', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'page_fi_size' => weaverx_cz_select(__('Page Featured Image Size', 'weaver-xtreme'), __('Media Library Image Size for Featured Image on pages. (Header uses full size).', 'weaver-xtreme'), 'weaverx_cz_choices_fi_size', 'thumbnail', 'refresh'), 'page_fi_width' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh', 'default' => 0), 'control' => array('control_type' => WEAVERX_PLUS_RANGE_CONTROL, 'label' => __('Featured Image Width (%)', 'weaver-xtreme') . WEAVERX_PLUS_ICON, 'description' => __('Width of Featured Image on Pages. Max Width in %, overrides FI Size selection. Set to 0 to avoid overriding above Featured Image Size setting.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 100, 'step' => 0.5)))));
        /**
         * Post Specific
         */
        $image_sections['images-post-specific'] = array('panel' => $panel, 'title' => __('Post Specific', 'weaver-xtreme'), 'description' => __('Post Specific Images - override Content Images.', 'weaver-xtreme'), 'options' => array('images-postspecific-heading' => weaverx_cz_heading(__('General Image Settings', 'weaver-xtreme'), __('General image settings found on the <em>Site Wrapper &amp; Container</em> panel.', 'weaver-xtreme')), 'post_avatar_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 28), 'control' => array('control_type' => WEAVERX_PLUS_RANGE_CONTROL, 'label' => __('Author Avatar Size (px)', 'weaver-xtreme'), 'description' => __('Size of Author Avatar in px - only for Post Info line. (Default: 28px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 10, 'max' => 60, 'step' => 1))), 'images-content-FI-full' => weaverx_cz_group_title(__('Featured Image - Full Blog Posts', 'weaver-xtreme'), __('Display of Post Featured Images when Post is displayed as a Full Post.', 'weaver-xtreme')), 'post_full_fi_location' => weaverx_cz_select(__('Featured Image Location - Full Post', 'weaver-xtreme'), __('Where to display Featured Image.', 'weaver-xtreme'), 'weaverx_cz_choices_fi_location', 'content-top', 'refresh'), 'post_full_fi_align' => weaverx_cz_select(__('Align Featured Image - Full Post', 'weaver-xtreme'), '', 'weaverx_cz_choices_fi_align', 'fi-alignleft', 'refresh'), 'post_full_fi_hide' => weaverx_cz_select(__('Hide Featured Image - Full Post', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'post_full_fi_size' => weaverx_cz_select(__('Page Featured Image Size - Full Post', 'weaver-xtreme'), __('Media Library Image Size for Featured Image. (Header uses full size).', 'weaver-xtreme'), 'weaverx_cz_choices_fi_size', 'thumbnail', 'refresh'), 'post_full_fi_width' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh', 'default' => 0), 'control' => array('control_type' => WEAVERX_PLUS_RANGE_CONTROL, 'label' => __('Featured Image Width (%) - Full Post', 'weaver-xtreme') . WEAVERX_PLUS_ICON, 'description' => __('Width of Featured Image. Max Width in %, overrides FI Size selection. Set to 0 to avoid overriding above Featured Image Size setting.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 100, 'step' => 0.5))), 'images-content-FI-excerpt' => weaverx_cz_group_title(__('Featured Image - Excerpt Posts', 'weaver-xtreme'), __('Display of Post Featured Images when Post is displayed as an Excerpt.', 'weaver-xtreme')), 'post_excerpt_fi_location' => weaverx_cz_select(__('Featured Image Location - Excerpt', 'weaver-xtreme'), __('Where to display Featured Image.', 'weaver-xtreme'), 'weaverx_cz_choices_fi_location', 'content-top', 'refresh'), 'post_excerpt_fi_align' => weaverx_cz_select(__('Align Featured Image - Excerpt', 'weaver-xtreme'), '', 'weaverx_cz_choices_fi_align', 'fi-alignleft', 'refresh'), 'post_excerpt_fi_hide' => weaverx_cz_select(__('Hide Featured Image - Excerpt', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'post_excerpt_fi_size' => weaverx_cz_select(__('Page Featured Image Size - Excerpt', 'weaver-xtreme'), __('Media Library Image Size for Featured Image. (Header uses full size).', 'weaver-xtreme'), 'weaverx_cz_choices_fi_size', 'thumbnail', 'refresh'), 'post_excerpt_fi_width' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh', 'default' => 0), 'control' => array('control_type' => WEAVERX_PLUS_RANGE_CONTROL, 'label' => __('Featured Image Width (%) - Excerpt', 'weaver-xtreme') . WEAVERX_PLUS_ICON, 'description' => __('Width of Featured Image. Max Width in %, overrides FI Size selection. Set to 0 to avoid overriding above Featured Image Size setting.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 100, 'step' => 0.5))), 'images-content-FI-single' => weaverx_cz_group_title(__('Featured Image - Single Page', 'weaver-xtreme'), __('Display of Post Featured Images when Post is displayed on the Single Page.', 'weaver-xtreme')), 'post_fi_location' => weaverx_cz_select(__('Featured Image Location - Single Page', 'weaver-xtreme'), __('Where to display Featured Image.', 'weaver-xtreme'), 'weaverx_cz_choices_fi_location', 'content-top', 'refresh'), 'post_fi_align' => weaverx_cz_select(__('Align Featured Image - Single Page', 'weaver-xtreme'), '', 'weaverx_cz_choices_fi_align', 'fi-alignleft', 'refresh'), 'post_fi_hide' => weaverx_cz_select(__('Hide Featured Image - Single Page', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'post_fi_size' => weaverx_cz_select(__('Page Featured Image Size - Single Page', 'weaver-xtreme'), __('Media Library Image Size for Featured Image. (Header uses full size).', 'weaver-xtreme'), 'weaverx_cz_choices_fi_size', 'thumbnail', 'refresh'), 'post_fi_width' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh', 'default' => 0), 'control' => array('control_type' => WEAVERX_PLUS_RANGE_CONTROL, 'label' => __('Featured Image Width (%) - Single Page', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Width of Featured Image. Max Width in %, overrides FI Size selection. Set to 0 to avoid overriding above Featured Image Size setting.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 100, 'step' => 0.5)))));
        /**
         * Footer
         */
        $image_sections['images-footer'] = array('panel' => $panel, 'title' => __('Footer Area', 'weaver-xtreme'), 'options' => array());
        /**
         * Background Images
         */
        $image_sections['images-background'] = array('panel' => $panel, 'title' => __('Background', 'weaver-xtreme'), 'options' => array('_bg_fullsite_url' => array('setting' => array('transport' => 'postMessage', 'sanitize_callback' => 'esc_url_raw'), 'control' => array('control_type' => WEAVERX_PLUS_IMAGE_CONTROL, 'label' => __('Full Screen Site BG Image', 'weaver-xtreme') . WEAVERX_PLUS_ICON, 'description' => __('Full screen centered auto-sized BG image. &diams;', 'weaver-xtreme'))), 'images-background-css-help' => array('setting' => array(), 'control' => array('control_type' => WEAVERX_PLUS_MISC_CONTROL, 'label' => __('Additional CSS for BG Images', 'weaver-xtreme') . WEAVERX_PLUS_ICON, 'type' => 'HTML', 'description' => '<small>' . __('Use the <em>Additional CSS</em> option to specify additional background CSS options, each ending with a semi-colon (;).
Valid options include: background-position, background-size, background-origin, background-clip, and background-attachment. Useful example: <code>background-size: 100% auto;</code> - makes bg image full width of container, height depends on container. See this <a href="http://www.w3schools.com/cssref/css3_pr_background.asp" title="background CSS" target="_blank">W3 Schools page</a> for more information about background styling.', 'weaver-xtreme') . '</small>'))));
        if (true) {
            $new_opts = weaverx_cz_add_image('body', __('Site BG Image', 'weaver-xtreme'), __('Background image for entire site (body)', 'weaver-xtreme'));
            $image_sections['images-background']['options'] = array_merge($image_sections['images-background']['options'], $new_opts);
            $new_opts = weaverx_cz_add_image('wrapper', __('Wrapper BG Image', 'weaver-xtreme'), __('Background image for outer wrapper (#wrapper)', 'weaver-xtreme'));
            $image_sections['images-background']['options'] = array_merge($image_sections['images-background']['options'], $new_opts);
            $new_opts = weaverx_cz_add_image('header', __('Header BG Image', 'weaver-xtreme'), __('Background image for header (#header)', 'weaver-xtreme'));
            $image_sections['images-background']['options'] = array_merge($image_sections['images-background']['options'], $new_opts);
            $new_opts = weaverx_cz_add_image('container', __('Container BG Image', 'weaver-xtreme'), __('Background image for Container - (#container)', 'weaver-xtreme'));
            $image_sections['images-background']['options'] = array_merge($image_sections['images-background']['options'], $new_opts);
            $new_opts = weaverx_cz_add_image('content', __('Content BG Image', 'weaver-xtreme'), __('Background image for Content - wraps page/post area (#content)', 'weaver-xtreme'));
            $image_sections['images-background']['options'] = array_merge($image_sections['images-background']['options'], $new_opts);
            $new_opts = weaverx_cz_add_image('page', __('Page content BG Image', 'weaver-xtreme'), __('Background image for Page content area (#content .page)', 'weaver-xtreme'));
            $image_sections['images-background']['options'] = array_merge($image_sections['images-background']['options'], $new_opts);
            $new_opts = weaverx_cz_add_image('post', __('Post BG Image', 'weaver-xtreme'), __('Background image for Post content area (#content .post)', 'weaver-xtreme'));
            $image_sections['images-background']['options'] = array_merge($image_sections['images-background']['options'], $new_opts);
            $new_opts = weaverx_cz_add_image('widgets_primary', __('Primary Sidebar Area BG Image', 'weaver-xtreme'), __('Background image for primary widget area (#primary-widget-area)', 'weaver-xtreme'));
            $image_sections['images-background']['options'] = array_merge($image_sections['images-background']['options'], $new_opts);
            $new_opts = weaverx_cz_add_image('widgets_secondary', __('Secondary Sidebar Areas BG Image', 'weaver-xtreme'), __('Background image for secondary widget areas (#secondary-widget-area)', 'weaver-xtreme'));
            $image_sections['images-background']['options'] = array_merge($image_sections['images-background']['options'], $new_opts);
            $new_opts = weaverx_cz_add_image('footer', __('Footer BG Image', 'weaver-xtreme'), __('Background image for Footer area (#colophon)', 'weaver-xtreme'));
            $image_sections['images-background']['options'] = array_merge($image_sections['images-background']['options'], $new_opts);
        }
        /**
         * Filter the definitions for the controls in the Color Scheme panel of the Customizer.
         *
         * @since 1.3.0.
         *
         * @param array    $image_sections    The array of definitions.
         */
        $image_sections = apply_filters('weaverx_customizer_image_sections', $image_sections);
        // Merge with master array
        return array_merge($sections, $image_sections);
    }
    /**
     * Define the sections and settings for the General panel
     */
    function weaverx_customizer_define_general_sections($sections)
    {
        $panel = 'weaverx_general';
        $general_sections = array();
        global $wp_customize;
        /**
         * Site Title & Tagline
         *
         * This is a built-in section.
         */
        $section_id = 'title_tagline';
        $section = $wp_customize->get_section($section_id);
        // Move Site Title & Tagline section to General panel
        $section->panel = $panel;
        // Set Site Title & Tagline section priority
        $section->priority = 10;
        // Reset priorities on Site Title control
        $wp_customize->get_control('blogname')->priority = 12;
        // Reset priorities on Tagline control
        $wp_customize->get_control('blogdescription')->priority = 14;
        /**
         * Static Front Page
         */
        $section_id = 'static_front_page';
        $section = $wp_customize->get_section($section_id);
        // Bail if the section isn't registered
        if (is_object($section) && 'WP_Customize_Section' === get_class($section)) {
            $section->panel = $panel;
            // Move Static Front Page section to General panel
            $section->priority = 16;
            // Set Static Front Page section priority
        }
        // add our own stuff....
        $general_sections['general_admin'] = array('panel' => $panel, 'title' => __('Admin', 'weaver-xtreme'), 'options' => array('_inline_style' => array('setting' => array('transport' => 'postMessage'), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Inline CSS', 'weaver-xtreme') . WEAVERX_PLUS_ICON, 'description' => __('Generate inline CSS code rather than using style-weaverxt.css file.
By default, Weaver Xtreme Plus will create and use the style-weaverxt.css file. &diams;', 'weaver-xtreme'), 'type' => 'checkbox')), '_sitemap_exclude_pages' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_head_code', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => 'WeaverX_Textarea_Control', 'label' => __('Exclude Pages from SiteMap', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('You can specify a comma separated list of Page IDs to be excluded from the SiteMap Page list.
To exclude pages from Search results, use a plugin such as "Search Exclude".
You can hide different sections of the SiteMap by adding rules to the "Custom CSS Rules" box.
To hide authors, for example, add the rule <code>#sitemap-authors{display:none;}</code>.
The IDs for the SiteMap sections are: <code>#sitemap-pages, #sitemap-posts, #sitemap-categories, #sitemap-tags, #sitemap-authors</code>. &diams;', 'weaver-xtreme'), 'type' => 'textarea', 'input_attrs' => array('rows' => '1', 'placeholder' => __('Comma separated list of Page IDs', 'weaver-xtreme')))), '_hide_donate' => array('setting' => array('transport' => 'postMessage'), 'control' => array('label' => __('I\'ve Donated', 'weaver-xtreme'), 'description' => __('Thank you for donating to the Weaver Xtreme theme.
This will hide the Donate button. Purchasing Weaver Xtreme Plus also hides the Donate button. &diams;', 'weaver-xtreme'), 'type' => 'checkbox')), '_hide_editor_style' => array('setting' => array('transport' => 'postMessage'), 'control' => array('label' => __('Disable Page/Post Editor Styling', 'weaver-xtreme'), 'description' => __('Disable the Weaver Xtreme theme based styling in the Page/Post editor.
If you have a theme using transparent backgrounds, this option will likely improve the Post/Page editor visibility. &diams;', 'weaver-xtreme'), 'type' => 'checkbox')), 'general_admin-roles' => weaverx_cz_group_title(__('Per Page and Per Post Option Panels by Roles', 'weaver-xtreme'), __('Single site Administrator and Multi-Site Super Administrator will always have the Per Page and Per Post options panel displayed.
You may selectively disable these options for other User Roles using the check boxes below.', 'weaver-xtreme')), '_hide_mu_admin_per' => weaverx_cz_checkbox(__('Hide Per Page/Post Options for MultiSite Admins &diams;', 'weaver-xtreme')), '_hide_editor_per' => weaverx_cz_checkbox(__('Hide Per Page/Post Options for Editors &diams;', 'weaver-xtreme')), '_hide_author_per' => weaverx_cz_checkbox(__('Hide Per Page/Post Options for Authors and Contributors &diams;', 'weaver-xtreme')), 'general_admin-names' => weaverx_cz_group_title(__('Theme Name and Description', 'weaver-xtreme'), __('You can change the name and description of your current settings if you would like to create a new theme
theme file for sharing with others, or for you own identification.', 'weaver-xtreme')), 'themename' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_head_code', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => 'WeaverX_Textarea_Control', 'label' => __('Theme Name', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'type' => 'textarea', 'input_attrs' => array('rows' => '1', 'placeholder' => __('Theme Name', 'weaver-xtreme')))), 'theme_description' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_head_code', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => 'WeaverX_Textarea_Control', 'label' => __('Theme Description', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'type' => 'textarea', 'input_attrs' => array('rows' => '1', 'placeholder' => __('Theme Description', 'weaver-xtreme')))), 'subtheme_notes' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_head_code', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => 'WeaverX_Textarea_Control', 'label' => __('Subtheme Notes', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'label' => __('This box may be used to keep notes and instructions about settings made for a custom subtheme.', 'weaver-xtreme'), 'type' => 'textarea', 'input_attrs' => array('rows' => '1', 'placeholder' => __('Theme Notes', 'weaver-xtreme'))))));
        $general_sections['general_save_settings'] = array('panel' => $panel, 'title' => __('Save Settings', 'weaver-xtreme'), 'options' => array('save_settings' => array('setting' => array('transport' => 'postMessage'), 'control' => array('control_type' => 'WeaverX_Save_WX_Settings', 'label' => __('Save Current Theme Settings to your Computer', 'weaver-xtreme'), 'description' => __('You can download the current theme settings to a file on your computer.
<strong style="color-red">IMPORTANT NOTE:</strong> If you have not "Saved" your options yet, you will get a notice
asking if you want to leave this page or stay. If you leave, you will not save the most recent changes.', 'weaver-xtreme')))));
        $general_sections['general_restore_settings'] = array('panel' => $panel, 'title' => __('Restore Settings', 'weaver-xtreme'), 'options' => array('restore_settings' => array('setting' => array('transport' => 'postMessage'), 'control' => array('control_type' => 'WeaverX_Restore_WX_Settings', 'label' => __('Restore settings from file on your computer', 'weaver-xtreme'), 'description' => __('You can restore the saved theme settings from a file on your computer.
Select a theme <em>.wxt</em>, backup <em>.wxb</em>, or full settings <em>.wxall</em> file to upload, then click the Upload.
<ul>
<li>&bull; A <em>.wxt</em> theme file will restore only theme settings, leaving &diams; settings intact.</li>
<li>&bull; A <em>.wxb</em> backup file will reset all settings.</li>
<li>&bull; A <em>.wxall</em> file will reset all settings, including <em>Weaver Xtreme Plus</em> shortcode and other settings.</li></ul>', 'weaver-xtreme')))));
        $general_sections['general_saverestore'] = array('panel' => $panel, 'title' => __('Legacy Weaver Xtreme Admin', 'weaver-xtreme'), 'options' => array('legacy-save-restore' => array('control' => array('control_type' => 'WeaverX_Misc_Control', 'label' => __('Legacy Theme Options Interface', 'weaver-xtreme'), 'description' => sprintf(__('<p>The <em>Appearance &rarr; Weaver Xtreme Admin</em> panel provides access to the complete
legacy Weaver Xtreme theme options interface. This interface supplies the traditional check-box interface.
It may be preferable for long-time Weaver Xtreme users, or for use on slow computers or slow connections.
</p><p>
You can access the legacy interface by clicking %s, and then on one of the following tabs.
<strong style="color:red;">WARNING!</strong> <em>Do not set options in both the Customizer and the legacy
Weaver Xtreme Admin interface at the same time - the two interfaces do not automatically share changes to settings.</em>
</p>
<h3>Theme Help</h3>
<p>Access to Help resources.</p>
<h3>Save/Restore</h3>
<p>Supports several ways to Save and Restore your existing settings, including directly to the WordPress database.</p>
<h3>Weaver Xtreme Subthemes</h3>
<p>This option includes the subthemes included in the optimizer, as well as many more.</p>
<h3>Main Options</h3>
<p>The main legacy options interface.</p>
<h3>Advanced Options</h3>
<p>Advanced options, including site specific options and some admin options.</p>
<h3>Add-ons</h3>
<p>Summary and help info for Weaver Xtreme Theme Support and Weaver Xtreme Plus.</p>', 'weaver-xtreme'), weaverx_cz_get_admin_page(__('Weaver Xtreme Admin Panel', 'weaver-xtreme'))), 'type' => 'HTML'))));
        // Merge with master array
        return array_merge($sections, $general_sections);
    }
function weaverx_cz_add_fonts($root, $label = '', $description = '', $transport = 'refresh', $bold = 'bold')
{
    $opt = array();
    if ($root != 'm_primary') {
        // add a line except top
        $opt[$root . '-headingline'] = weaverx_cz_line();
    }
    $glabel = $label;
    if ($transport == 'refresh') {
        $glabel .= WEAVERX_REFRESH_ICON;
    }
    $opt[$root . '-font-hdrm'] = weaverx_cz_group_title($glabel, $description);
    // Font Size
    $opt[$root . '_font_size'] = weaverx_cz_select('', '<strong>' . __('Select Font Size for ', 'weaver-xtreme') . $label . '</strong>', 'weaverx_cz_choices_font_size', '', $transport);
    // Font Family
    /* for future - add more fonts...
    	 *$opt[$root . '_font_family'] = array(
    		'setting' => array(	'transport' => 'refresh', 'default' => 'sans-serif'	),
    		'control' => array(
    			'control_type' => 'WeaverX_Misc_Control',
    			'label'   => __( 'Font Family', 'weaver-xtreme' ) . WEAVERX_REFRESH_ICON,
    			'description'   => '',
    			'type'  => 'select-fontfamily',
    			'choices' => weaverx_cz_choices_font_family()
    		),
    	);
    	*/
    $opt[$root . '_font_family'] = weaverx_cz_select('', '<strong>' . __('Select Font Family for ', 'weaver-xtreme') . $label . '</strong>', 'weaverx_cz_choices_font_family', '', $transport);
    // Bold / Normal
    if ($root == 'tagline' || $root == 'content_h' || strpos($root, '_title') > 0) {
        if ($transport == 'refresh') {
            $opt[$root . '_normal'] = weaverx_cz_checkbox_refresh(__('Normal Weight for ', 'weaver-xtreme') . $label, '');
        } else {
            $opt[$root . '_normal'] = weaverx_cz_checkbox(__('Normal Weight for ', 'weaver-xtreme') . $label, '');
        }
    } else {
        $opt[$root . '_bold'] = weaverx_cz_select('', '<strong>' . __('Use Bold for ', 'weaver-xtreme') . $label . '</strong>', 'weaverx_cz_choices_bold_italic', '', $transport);
    }
    // Italic
    $opt[$root . '_italic'] = weaverx_cz_select('', '<strong>' . __('Use <em>Italic</em> for ', 'weaver-xtreme') . $label . '</strong>', 'weaverx_cz_choices_bold_italic', '', $transport);
    return $opt;
}
 /**
  * Define the sections and settings for the style panel
  *
  */
 function weaverx_customizer_define_style_sections($sections)
 {
     $panel = 'weaverx_style';
     $style_sections = array();
     define('WEAVERX_ROUNDED_TRANSPORT', 'postMessage');
     // global settings
     $style_sections['style-global'] = array('panel' => $panel, 'title' => __('Global Style Options', 'weaver-xtreme'), 'description' => 'Set some global settings that affect style.', 'options' => array('border_color' => array('setting' => array('sanitize_callback' => WEAVERX_CZ_SANITIZE_COLOR, 'transport' => WEAVERX_COLOR_TRANSPORT, 'default' => '#222222'), 'control' => array('control_type' => WEAVERX_COLOR_CONTROL, 'label' => __('Border Color...', 'weaver-xtreme'), 'description' => __('Color for all borders.', 'weaver-xtreme'))), 'border_width_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 1), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Border Width (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 1, 'max' => 20, 'step' => 1))), 'border_style' => weaverx_cz_select_plus(__('Border Style', 'weaver-xtreme'), __('Style of borders - width needs to be > 1 and color other than black for some styles to work correctly.', 'weaver-xtreme'), 'weaverx_cz_choices_border_style', 'solid', 'refresh'), 'rounded_corners_radius' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh', 'default' => 8), 'control' => array('control_type' => WEAVERX_PLUS_RANGE_CONTROL, 'label' => __('Corner Radius (px)', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Controls how "round" corners are. Specify a value (5 to 15 look best) for corner radius.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 1, 'max' => 20, 'step' => 1))), 'custom_shadow' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_css', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXTAREA_CONTROL, 'label' => __('Custom Shadow', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('This defines the "Custom Shadow" shown on the <em>Add shadow</em> options. You will have to select "Custom Shadow" to use the shadow style you define here. Specify full <em>box-shadow</em> CSS rule.', 'weaver-xtreme'), 'type' => 'textarea', 'input_attrs' => array('rows' => '1', 'placeholder' => __('{box-shadow: 0 0 3px 1px rgba(0,0,0,0.25);} /* for example */', 'weaver-xtreme'))))));
     /**
      * General
      */
     $style_sections['style-wrapping'] = array('panel' => $panel, 'title' => __('Wrapping Areas', 'weaver-xtreme'), 'description' => 'Set borders, shadows, and rounded corners for main Wrapper and Container wrapping areas.', 'options' => array('wrapper-style-genopts' => weaverx_cz_group_title(__('General Style Global Options', 'weaver-xtreme'), __('These settings control global attributes of borders, etc.', 'weaver-xtreme')), 'wrapper-style-heading' => weaverx_cz_group_title(__('Wrapper Area', 'weaver-xtreme'), __('The Wrapper is the &lt;div&gt; that wraps entire site.', 'weaver-xtreme')), 'wrapper_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add border', 'weaver-xtreme'), 'type' => 'checkbox')), 'wrapper_shadow' => weaverx_cz_select(__('Add shadow', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'wrapper_rounded' => weaverx_cz_select(__('Rounded corners', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT), 'container-style-heading' => weaverx_cz_group_title(__('Container Area', 'weaver-xtreme'), __('The Container is the &lt;div&gt; that wraps site content areas, including sidebars. Does not include Header and Footer.', 'weaver-xtreme')), 'container_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add border', 'weaver-xtreme'), 'type' => 'checkbox')), 'container_shadow' => weaverx_cz_select(__('Add shadow', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'container_rounded' => weaverx_cz_select(__('Rounded corners', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT)));
     /**
      * Site Header
      */
     $style_sections['style-header'] = array('panel' => $panel, 'title' => __('Header Area', 'weaver-xtreme'), 'options' => array('style-heading-header' => weaverx_cz_group_title(__('Site Header Area Borders', 'weaver-xtreme')), 'header_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add border to entire Header Area', 'weaver-xtreme'), 'type' => 'checkbox')), 'header_sb_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add border to Header Widget Area', 'weaver-xtreme'), 'type' => 'checkbox')), 'header_html_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add border to Header HTML Area', 'weaver-xtreme'), 'type' => 'checkbox')), 'style-shadow-header' => weaverx_cz_group_title(__('Site Header Area Shadows', 'weaver-xtreme')), 'header_shadow' => weaverx_cz_select(__('Add shadow to header', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'header_sb_shadow' => weaverx_cz_select(__('Add shadow to Header Widget Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'header_html_shadow' => weaverx_cz_select(__('Add shadow to Header HTML Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'style-rounded-header' => weaverx_cz_group_title(__('Site Header Rounded Corners', 'weaver-xtreme'), __('Note that rounded corners require borders or bg color to show, and interact with surrounding areas. You may have to set several options to get rounded corners to display.', 'weaver-xtreme')), 'header_rounded' => weaverx_cz_select(__('Add rounded corners to Header Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT), 'header_sb_rounded' => weaverx_cz_select(__('Add rounded corners to Header Widget Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT), 'header_html_rounded' => weaverx_cz_select(__('Add rounded corners to Header HTML Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT)));
     /**
      * Main Menu
      */
     $style_sections['style-menus'] = array('panel' => $panel, 'title' => __('Menus', 'weaver-xtreme'), 'description' => __('Set style for Menus.', 'weaver-xtreme'), 'options' => array('style-mm-heading' => weaverx_cz_group_title(__('Primary Menu', 'weaver-xtreme')), 'm_primary_sub_border' => weaverx_cz_checkbox(__('Add border to Primary Menu bar', 'weaver-xtreme')), 'm_primary_sub_border' => weaverx_cz_checkbox(__('Add border to Sub-Menus', 'weaver-xtreme')), 'm_primary_shadow' => weaverx_cz_select(__('Add shadow to menu bar', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'm_primary_sub_noshadow' => weaverx_cz_heading(__('Add Shadow to Sub-Menus', 'weaver-xtreme'), __('Sub-Menus do <em>not</em> support shadows.', 'weaver-xtreme')), 'm_primary_rounded' => weaverx_cz_select(__('Add rounded corners to menu bar', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT), 'm_primary_sub_rounded' => weaverx_cz_checkbox_refresh(__('Rounded Primary Sub-Menu corners', 'weaver-xtreme')), 'style-sm-line1' => weaverx_cz_line(), 'style-sm-heading' => weaverx_cz_group_title(__('Secondary Menu', 'weaver-xtreme')), 'm_secondary_sub_border' => weaverx_cz_checkbox(__('Add border to Secondary Menu bar', 'weaver-xtreme')), 'm_secondary_sub_border' => weaverx_cz_checkbox(__('Add border to Sub-Menus', 'weaver-xtreme')), 'm_secondary_shadow' => weaverx_cz_select(__('Add shadow to menu bar', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'm_secondary_sub_noshadow' => weaverx_cz_heading(__('Add Shadow to Sub-Menus', 'weaver-xtreme'), __('Sub-Menus do <em>not</em> support shadows.', 'weaver-xtreme')), 'm_secondary_rounded' => weaverx_cz_select(__('Add rounded corners to menu bar', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT), 'm_secondary_sub_rounded' => weaverx_cz_checkbox_refresh(__('Rounded Secondary Sub-Menu corners', 'weaver-xtreme')), 'style-sm-line2' => weaverx_cz_line(), 'style-allmenus-heading' => weaverx_cz_group_title(__('Style For All Menus', 'weaver-xtreme'), __('These options specify current page attributes for all menus.', 'weaver-xtreme')), 'placeholder_cursor' => weaverx_cz_select(__('Placeholder Menu Hover Cursor', 'weaver-xtreme'), __('Cursor :hover attribute for placeholder menu items (only with Custom Menu Items with URL==#).', 'weaver-xtreme'), 'weaverx_cz_choices_pointer', 'pointer', 'refresh')));
     if (weaverx_cz_is_plus()) {
         $new_opts = array('style-xm-line1' => weaverx_cz_line(), 'style-xm-heading' => weaverx_cz_group_title(__('Extra Menu', 'weaver-xtreme')), 'm_extra_sub_border' => weaverx_cz_checkbox(__('Add border to Extra Menu bar', 'weaver-xtreme')), 'm_extra_sub_border' => weaverx_cz_checkbox(__('Add border to Sub-Menus', 'weaver-xtreme')), 'm_extra_shadow' => weaverx_cz_select(__('Add shadow to menu bar', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'm_extra_sub_noshadow' => weaverx_cz_heading(__('Add Shadow to Sub-Menus', 'weaver-xtreme'), __('Sub-Menus do <em>not</em> support shadows.', 'weaver-xtreme')), 'm_extra_rounded' => weaverx_cz_select(__('Add rounded corners to menu bar', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT), 'm_extra_sub_rounded' => weaverx_cz_checkbox_refresh(__('Rounded Extra Sub-Menu corners', 'weaver-xtreme')));
     } else {
         $new_opts = weaverx_cz_add_plus_message('spacing_menus', __('Extra Menu', 'weaver-xtreme'), __('Add extra menus with <strong>Weaver Xtreme Plus</strong>.', 'weaver-xtreme'));
     }
     // add stub or extra menu options
     $style_sections['style-menus']['options'] = array_merge($style_sections['style-menus']['options'], $new_opts);
     /**
      * Info Bar
      */
     $style_sections['style-info-bar'] = array('panel' => $panel, 'title' => __('Info Bar', 'weaver-xtreme'), 'description' => __('Info Bar with breadcrumb and paged navigation displayed under Primary Menu.', 'weaver-xtreme'), 'options' => array('infobar_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add border to Info Bar', 'weaver-xtreme'), 'type' => 'checkbox')), 'infobar_shadow' => weaverx_cz_select(__('Add shadow to Info Bar', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'infobar_rounded' => weaverx_cz_select(__('Add rounded corners to Info Bar', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT)));
     /**
      * Content
      */
     $style_sections['style-content'] = array('panel' => $panel, 'title' => __('Content', 'weaver-xtreme'), 'description' => __('style for general page and post content.', 'weaver-xtreme'), 'options' => array('content_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add border to Content Area', 'weaver-xtreme'), 'type' => 'checkbox')), 'content_shadow' => weaverx_cz_select(__('Add shadow to Content Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'content_rounded' => weaverx_cz_select(__('Add rounded corners to Content Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT), 'page_title_underline_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bar under Page Title (px)', 'weaver-xtreme'), 'description' => __('Enter size in px if you want a bar under Page Titles. Leave 0 for no bar. Color matches title.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 20, 'step' => 1))), 'contentlist_bullet' => weaverx_cz_select(__('Content List Bullet Style', 'weaver-xtreme'), __('Bullet used for Unordered Lists in Content.', 'weaver-xtreme'), 'weaverx_cz_choices_list_bullets', 'disc', 'postMessage'), 'weaverx_tables' => weaverx_cz_select(__('Table Style', 'weaver-xtreme'), __('Style used for tables in content. <span style="font-weigiht:bold;color:red;">WARNING!</span> Tables are inherently non-responsive, and <em>do not</em> work well for mobile devices. We advise you to avoid using tables.', 'weaver-xtreme'), 'weaverx_cz_choices_tables', 'default', 'refresh'), 'show_comment_borders' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('label' => __('Show Borders on Comments', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Show Borders around comment sections - improves visual look of comments.', 'weaver-xtreme'), 'type' => 'checkbox'))));
     /**
      * Post Specific
      */
     $style_sections['style-post-specific'] = array('panel' => $panel, 'title' => __('Post Specific', 'weaver-xtreme'), 'description' => __('Post Specific style - override Content style.', 'weaver-xtreme'), 'options' => array('post_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add border to Posts', 'weaver-xtreme'), 'type' => 'checkbox')), 'post_shadow' => weaverx_cz_select(__('Add shadow to posts', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'post_rounded' => weaverx_cz_select(__('Add rounded corners to posts', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT), 'post_icons' => weaverx_cz_select(__('Text or Icons for Post Info', 'weaver-xtreme'), __('Use Icons instead of Text descriptions in Post Meta Info. You can specify a color for the Font Icons on the <em>Color &rarr; Post Specific</em> panel.', 'weaver-xtreme'), 'weaverx_cz_choices_post_icons', 'text', 'refresh'), 'post_title_underline_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bar under Post Titles (px)', 'weaver-xtreme'), 'description' => __('Enter size in px if you want a bar under Post Titles. Leave 0 for no bar. Color matches title.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 20, 'step' => 1)))));
     /**
      * Sidebars
      */
     $style_sections['style-sidebars'] = array('panel' => $panel, 'title' => __('Sidebars &amp; Widget Areas', 'weaver-xtreme'), 'description' => __('Style for Main Sidebars and Widget areas.', 'weaver-xtreme'), 'options' => array('style-primary-widget-heading' => weaverx_cz_group_title(__('Primary Widget Area', 'weaver-xtreme')), 'primary_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add border', 'weaver-xtreme'), 'type' => 'checkbox')), 'primary_shadow' => weaverx_cz_select(__('Add shadow', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'primary_rounded' => weaverx_cz_select(__('Add rounded corners', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT), 'style-secondary-widget-heading' => weaverx_cz_group_title(__('Secondary Widget Area', 'weaver-xtreme')), 'secondary_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add border', 'weaver-xtreme'), 'type' => 'checkbox')), 'secondary_shadow' => weaverx_cz_select(__('Add shadow', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'secondary_rounded' => weaverx_cz_select(__('Add rounded corners', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT), 'style-top-widget-heading' => weaverx_cz_group_title(__('Top Widget Areas', 'weaver-xtreme'), __('Properties for all Top Widget areas (Sitewide, Pages, Blog, Archive).', 'weaver-xtreme')), 'top_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add border', 'weaver-xtreme'), 'type' => 'checkbox')), 'top_shadow' => weaverx_cz_select(__('Add shadow', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'top_rounded' => weaverx_cz_select(__('Add rounded corners', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT), 'style-bottom-widget-heading' => weaverx_cz_group_title(__('Bottom Widget Areas', 'weaver-xtreme'), __('Properties for all Bottom Widget areas (Sitewide, Pages, Blog, Archive).', 'weaver-xtreme')), 'bottom_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add border', 'weaver-xtreme'), 'type' => 'checkbox')), 'bottom_shadow' => weaverx_cz_select(__('Add shadow', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'bottom_rounded' => weaverx_cz_select(__('Add rounded corners', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT)));
     /**
      * Widgets
      */
     $style_sections['style-widgets'] = array('panel' => $panel, 'title' => __('Individual Widgets', 'weaver-xtreme'), 'description' => __('Styling for individual widgets.', 'weaver-xtreme'), 'options' => array('widget_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add border', 'weaver-xtreme'), 'type' => 'checkbox')), 'widget_shadow' => weaverx_cz_select(__('Add shadow to Individual Widgets', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'widget_rounded' => weaverx_cz_select(__('Rounded corners', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT), 'widget_title_underline_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bar under Widget Titles (px)', 'weaver-xtreme'), 'description' => __('Enter size in px if you want a bar under Widget Titles. Leave 0 for no bar. Color matches title.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 20, 'step' => 1))), 'widgetlist_bullet' => weaverx_cz_select(__('Widget List Bullet', 'weaver-xtreme'), __('Bullet used for Unordered Lists in Widget areas.', 'weaver-xtreme'), 'weaverx_cz_choices_list_bullets', 'disc', 'postMessage')));
     /**
      * Footer
      */
     $style_sections['style-footer'] = array('panel' => $panel, 'title' => __('Footer Area', 'weaver-xtreme'), 'options' => array('style-footer-heading' => weaverx_cz_group_title(__('Footer Borders', 'weaver-xtreme')), 'footer_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add border to Footer Area', 'weaver-xtreme'), 'type' => 'checkbox')), 'footer_sb_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add border to Footer Widget Area', 'weaver-xtreme'), 'type' => 'checkbox')), 'footer_html_border' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage'), 'control' => array('label' => __('Add border to Footer HTML Area', 'weaver-xtreme'), 'type' => 'checkbox')), 'style-footer-shadow-heading' => weaverx_cz_group_title(__('Footer Shadows', 'weaver-xtreme')), 'footer_shadow' => weaverx_cz_select(__('Add shadow to Footer Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'footer_sb_shadow' => weaverx_cz_select(__('Add shadow to Footer Widget Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'footer_html_shadow' => weaverx_cz_select(__('Add shadow to HTML Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_shadow', '-0', 'postMessage'), 'style-footer-rounded-heading' => weaverx_cz_group_title(__('Footer Rounded Corners', 'weaver-xtreme')), 'footer_rounded' => weaverx_cz_select(__('Add rounded corners to Footer Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT), 'footer_sb_rounded' => weaverx_cz_select(__('Add rounded corners to Footer Widget Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT), 'footer_html_rounded' => weaverx_cz_select(__('Add rounded corners to Footer HTML Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_rounded', 'none', WEAVERX_ROUNDED_TRANSPORT)));
     /**
      * Filter the definitions for the controls in the Color Scheme panel of the Customizer.
      *
      * @since 1.3.0.
      *
      * @param array    $style_sections    The array of definitions.
      */
     $style_sections = apply_filters('weaverx_customizer_style_sections', $style_sections);
     // Merge with master array
     return array_merge($sections, $style_sections);
 }