/**
  * Define the sections and settings for the Visibility panel
  */
 function weaverx_customizer_define_visibility_sections($sections)
 {
     $panel = 'weaverx_visibility';
     $visibility_sections = array();
     /**
      * General
      */
     $visibility_sections['visibility-global-vis'] = array('panel' => $panel, 'title' => __('Global Visibility', 'weaver-xtreme'), 'description' => 'Set global visibility attributes.', 'options' => array('hide_tooltip' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Hide Menu/Link Tool Tips', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Hide the tool tip pop up over all menus and links.)', 'weaver-xtreme'), 'type' => 'checkbox'))));
     /**
      * Site Header
      */
     $visibility_sections['visibility-header'] = array('panel' => $panel, 'title' => __('Header Area', 'weaver-xtreme'), 'options' => array('header_hide' => weaverx_cz_select(__('Hide Header Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'hide_site_title' => weaverx_cz_select(__('Hide Site Title', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'hide_site_tagline' => weaverx_cz_select(__('Hide Tagline', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'hide_header_image' => weaverx_cz_select(__('Hide Header Image', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'hide_header_image_front' => weaverx_cz_checkbox_refresh(__('Hide Header Image on Front Page', 'weaver-xtreme')), 'header_sb_hide' => weaverx_cz_select(__('Hide Header Widget Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'header_html_hide' => weaverx_cz_select(__('Hide Header HTML Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'header_search_hide' => weaverx_cz_select(__('Hide Search box on Header', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh')));
     /**
      * Main Menu
      */
     $visibility_sections['visibility-menus'] = array('panel' => $panel, 'title' => __('Menus', 'weaver-xtreme'), 'description' => __('Set visibility for Menus.', 'weaver-xtreme'), 'options' => array('visibility-mm-heading' => weaverx_cz_group_title(__('Primary Menu', 'weaver-xtreme')), 'm_primary_hide' => weaverx_cz_select(__('Hide Primary Menu', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'm_primary_hide_arrows' => weaverx_cz_checkbox_refresh(__('Hide Primary Menu Arrows', 'weaver-xtreme'), ''), 'm_primary_hide_left' => weaverx_cz_select_plus(__('Hide Primary Menu Left HTML', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'm_primary_hide_right' => weaverx_cz_select_plus(__('Hide Primary Menu Right HTML', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'menu_nohome' => weaverx_cz_checkbox_refresh(__('No Home Menu Item', 'weaver-xtreme'), __("Don't automatically add Home menu item for home page (as defined in Settings->Reading)", 'weaver-xtreme')), 'visibility-pm-line1' => weaverx_cz_line(), 'visibility-sm-heading' => weaverx_cz_group_title(__('Secondary Menu', 'weaver-xtreme')), 'm_secondary_hide' => weaverx_cz_select(__('Hide Secondary Menu', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'm_secondary_hide_arrows' => weaverx_cz_checkbox_refresh(__('Hide Secondary Menu Arrows', 'weaver-xtreme')), 'm_secondary_hide_left' => weaverx_cz_select_plus(__('Hide Secondary Menu Left HTML', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'm_secondary_hide_right' => weaverx_cz_select_plus(__('Hide Secondary Menu Right HTML', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'viz-pm-line2' => weaverx_cz_line(), 'visibility-minim-heading' => weaverx_cz_group_title(__('Header Mini Menu', 'weaver-xtreme'), __('You must define a Header Menu from the Custom Menus Content menu.', 'weaver-xtreme')), 'm_header_mini_hide' => weaverx_cz_select(__('Hide Header Mini Menu', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh')));
     if (weaverx_cz_is_plus()) {
         $new_opts = array('spacing-xm-line1' => weaverx_cz_line(), 'visibility-xm-heading' => weaverx_cz_group_title(__('Extra Menu', 'weaver-xtreme')), 'm_extra_hide' => weaverx_cz_select(__('Hide Extra Menu', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'm_extra_hide_arrows' => weaverx_cz_checkbox_refresh(__('Hide Extra Menu Arrows', 'weaver-xtreme')), 'm_extra_hide_left' => weaverx_cz_select_plus(__('Hide Extra Menu Left HTML', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'm_extra_hide_right' => weaverx_cz_select_plus(__('Hide Extra Menu Right HTML', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'));
     } 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
     $visibility_sections['visibility-menus']['options'] = array_merge($visibility_sections['visibility-menus']['options'], $new_opts);
     /**
      * Info Bar
      */
     $visibility_sections['visibility-info-bar'] = array('panel' => $panel, 'title' => __('Info Bar', 'weaver-xtreme'), 'description' => __('Info Bar with breadcrumbs and paged navigation displayed under Primary Menu.', 'weaver-xtreme'), 'options' => array('infobar_hide' => weaverx_cz_select(__('Hide Info Bar', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'info_hide_breadcrumbs' => weaverx_cz_checkbox_refresh(__('Hide Breadcrumbs', 'weaver-xtreme'), __('Do not display the Breadcrumbs on the Infobar', 'weaver-xtreme')), 'info_hide_pagenav' => weaverx_cz_checkbox_refresh(__('Hide Page Navigation', 'weaver-xtreme'), __('Do not display the numbered Page navigation on the Infobar', 'weaver-xtreme')), 'info_search' => array('setting' => array('sanitize_callback' => 'absint'), 'control' => array('label' => __('Show Search Box', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Include a Search box on the right.', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'type' => 'checkbox')), 'info_addlogin' => array('setting' => array('sanitize_callback' => 'absint'), 'control' => array('label' => __('Show Log In', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Include a simple Log In link on the right.', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'type' => 'checkbox'))));
     /**
      * Content
      */
     $visibility_sections['visibility-content'] = array('panel' => $panel, 'title' => __('Content', 'weaver-xtreme'), 'description' => __('visibility for general page and post content.', 'weaver-xtreme'), 'options' => array('visibility-content-comments-heading' => weaverx_cz_group_title(__('Comments', 'weaver-xtreme'), __('Visibility settings for Comments area.', 'weaver-xtreme')), 'hide_old_comments' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Hide Old Comments When Closed', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Hide previous comments after closing comments for page or post. (Default: show old comments after closing.)', 'weaver-xtreme'), 'type' => 'checkbox')), 'form_allowed_tags' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Show Allowed HTML', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Show the allowed HTML tags below comment input box.', 'weaver-xtreme'), 'type' => 'checkbox')), 'hide_comment_bubble' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Hide Comment Title Icon', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Hide the comment icon (bubble) before the Comments title.', 'weaver-xtreme'), 'type' => 'checkbox')), 'hide_comment_hr' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Hide Separator Above Comments', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Hide the (&lt;hr&gt;) separator line above the Comments area.', 'weaver-xtreme'), 'type' => 'checkbox')), 'visibility-content-comments-note' => weaverx_cz_heading(__('Hiding/Enabling Page and Post Comments', 'weaver-xtreme'), __('Controlling "Reply/Leave a Comment" visibility for pages and posts is <strong>not</strong> a theme function. It is controlled by WordPress on the <em>Settings &rarr; Discussion</em> menu.', 'weaver-xtreme'))));
     /**
      * Post Specific
      */
     $visibility_sections['visibility-post-specific'] = array('panel' => $panel, 'title' => __('Post Specific', 'weaver-xtreme'), 'description' => __('Post Specific visibility - override Content visibility.', 'weaver-xtreme'), 'options' => array('visibility-posts-metax-heading' => weaverx_cz_group_title(__('Post Meta Info Lines', 'weaver-xtreme')), 'post_info_hide_top' => weaverx_cz_checkbox_refresh(__('Hide top post meta info line', 'weaver-xtreme'), __('Hide entire top info line (posted on, by) of post.', 'weaver-xtreme')), 'post_info_hide_bottom' => weaverx_cz_checkbox_refresh(__('Hide bottom post meta info line', 'weaver-xtreme'), __('Hide entire bottom info line (posted in, comments) of post.', 'weaver-xtreme')), 'show_post_bubble' => weaverx_cz_checkbox_refresh(__('Show Comment Bubble', 'weaver-xtreme'), __('Show comment bubble with link to comments on the post info line.', 'weaver-xtreme')), 'show_post_avatar' => weaverx_cz_select(__('Show Author Avatar', 'weaver-xtreme'), __('Show author avatar on the post info line (also can be set per post with post editor).', 'weaver-xtreme'), 'weaverx_cz_choices_hide', 'hide', 'refresh'), 'visibility-posts-note-meta-heading' => weaverx_cz_heading(__('NOTE:', 'weaver-xtreme'), __('Hiding any meta info item will force using Icons instead of text descriptions.', 'weaver-xtreme')), 'post_hide_date' => weaverx_cz_checkbox_refresh(__('Hide Post Date', 'weaver-xtreme')), 'post_hide_author' => weaverx_cz_checkbox_refresh(__('Hide Post Author', 'weaver-xtreme')), 'post_hide_categories' => weaverx_cz_checkbox_refresh(__('Hide Post Categories', 'weaver-xtreme')), 'post_hide_tags' => weaverx_cz_checkbox_refresh(__('Hide Post Tags', 'weaver-xtreme')), 'hide_permalink' => weaverx_cz_checkbox_refresh(__('Hide Permalink', 'weaver-xtreme')), 'hide_singleton_category' => weaverx_cz_checkbox_refresh(__('Hide Category if Only One', 'weaver-xtreme'), __("If there is only one overall category defined (Uncategorized), don't show Category of post.", 'weaver-xtreme')), 'post_hide_single_author' => weaverx_cz_checkbox_refresh(__('Hide Author for Single Author Site', 'weaver-xtreme'), __("Hide author information if site has only a single author.", 'weaver-xtreme')), 'visibility-posts-nav-heading' => weaverx_cz_group_title(__('Post Navigation', 'weaver-xtreme')), 'visibility-posts-misc-heading' => weaverx_cz_group_title(__('Other Post Visibility Options', 'weaver-xtreme')), 'hide_post_format_icon' => array('setting' => array('sanitize_callback' => 'absint'), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Hide Post Format Icons', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Hide the icons for posts with Post Format specified.', 'weaver-xtreme'), 'type' => 'checkbox')), 'show_comments_closed' => weaverx_cz_checkbox_refresh(__('Show "Comments are closed"', 'weaver-xtreme'), __('If comments are off, and no comments have been made, show the <em>Comments are closed.</em> message.', 'weaver-xtreme')), 'hide_author_bio' => weaverx_cz_checkbox_refresh(__('Hide Author Bio', 'weaver-xtreme'), __('Hide display of author bio box on Author Archive and Single Post page views.', 'weaver-xtreme'))));
     /**
      * Sidebars
      */
     $visibility_sections['visibility-sidebars'] = array('panel' => $panel, 'title' => __('Sidebars &amp; Widget Areas', 'weaver-xtreme'), 'description' => __('Main Sidebars and Widget areas. Header and Footer areas options under Header and Footer panels.', 'weaver-xtreme'), 'options' => array('visibility-primary-widget-heading' => weaverx_cz_group_title(__('Primary Widget Area', 'weaver-xtreme')), 'primary_hide' => weaverx_cz_select(__('Hide Primary Widget Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'visibility-secondary-widget-heading' => weaverx_cz_group_title(__('Secondary Widget Area', 'weaver-xtreme')), 'secondary_hide' => weaverx_cz_select(__('Hide Secondary Widget Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'visibility-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_hide' => weaverx_cz_select(__('Hide Top Widget Areas', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'visibility-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_hide' => weaverx_cz_select(__('Hide Bottom Widget Areas', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh')));
     /**
      * Widgets
      */
     $visibility_sections['visibility-widgets'] = array('panel' => $panel, 'title' => __('Individual Widgets', 'weaver-xtreme'), 'options' => array());
     /**
      * Footer
      */
     $visibility_sections['visibility-footer'] = array('panel' => $panel, 'title' => __('Footer Area', 'weaver-xtreme'), 'options' => array('footer_hide' => weaverx_cz_select(__('Hide Footer Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'footer_sb_hide' => weaverx_cz_select(__('Hide Footer Widget Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), 'footer_html_hide' => weaverx_cz_select(__('Hide Footer HTML Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_hide', 'hide-none', 'refresh'), '_hide_poweredby' => weaverx_cz_checkbox_refresh(__('Hide Powered By tag', 'weaver-xtreme'), __('Hide the "Proudly powered by" notice in the footer. &diams;', 'weaver-xtreme'))));
     /**
      * Filter the definitions for the controls in the Color Scheme panel of the Customizer.
      *
      * @since 1.3.0.
      *
      * @param array    $visibility_sections    The array of definitions.
      */
     $visibility_sections = apply_filters('weaverx_customizer_visibility_sections', $visibility_sections);
     // Merge with master array
     return array_merge($sections, $visibility_sections);
 }
 /**
  * Define the sections and settings for the Layout panel
  */
 function weaverx_customizer_define_layout_sections($sections)
 {
     $panel = 'weaverx_layout';
     $layout_sections = array();
     /**
      * General
      */
     $layout_sections['layout-wrapping'] = array('panel' => $panel, 'title' => __('Wrapping Areas', 'weaver-xtreme'), 'options' => array());
     /**
      * Site Header
      */
     $layout_sections['layout-header'] = array('panel' => $panel, 'title' => __('Header Area', 'weaver-xtreme'), 'options' => array('layout-heading-header' => weaverx_cz_heading(__('Site Header', 'weaver-xtreme')), 'header_sb_position' => array('setting' => array('transport' => 'refresh', 'default' => 'top'), 'control' => array('control_type' => WEAVERX_PLUS_SELECT_CONTROL, 'label' => __('Header Widget Area Position', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Change where Header Widget Area is displayed within the Header Area. You can move it to one of five positions in the Header.', 'weaver-xtreme'), 'type' => 'select', 'choices' => array('top' => __('Top of Header', 'weaver-xtreme'), 'before_header' => __('Before Header Image', 'weaver-xtreme'), 'after_header' => __('After Header Image', 'weaver-xtreme'), 'after_html' => __('After HTML Block', 'weaver-xtreme'), 'after_menu' => __('After Lower Menu', 'weaver-xtreme')))), 'header_sb_cols_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh', 'default' => 1), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Header Columns of Widgets', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'type' => 'range', 'input_attrs' => array('min' => 1, 'max' => 8, 'step' => 1))), 'layout-header-custom-widths' => weaverx_cz_heading(__('Header Custom Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON, __('You can optionally specify widget widths, including for specific devices. Overrides the Columns of Widgets setting. Please read the help entry!', 'weaver-xtreme')), '_header_lw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Header Desktop Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths separated by comma. Use semi-colon (;) for end of each row. Widths are % of each row. (&diams;)', 'weaver-xtreme'), 'type' => 'text', 'input_attrs' => array('placeholder' => __('25,25,50; 60,40; - for example', 'weaver-xtreme')))), '_header_mw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Header Small Tablet Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths. (&diams;)', 'weaver-xtreme'), 'type' => 'text')), '_header_sw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Header Phone Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths. (&diams;)', 'weaver-xtreme'), 'type' => 'text')), 'hdr_sb_l1' => weaverx_cz_line(), 'header_sb_no_widget_margins' => array('setting' => array(), 'control' => array('label' => __('Header No Smart Widget Margins', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Do not use "smart margins" between  multi-column widgets on rows.', 'weaver-xtreme'), 'type' => 'checkbox')), 'header_sb_eq_widgets' => array('setting' => array(), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Header Equal Height Widget Rows', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Make widgets equal height rows if &gt; 1 column.', 'weaver-xtreme'), 'type' => 'checkbox'))));
     /**
      * Main Menu
      */
     $layout_sections['layout-menus'] = array('panel' => $panel, 'title' => __('Menus', 'weaver-xtreme'), 'description' => __('Set layout for Menus.', 'weaver-xtreme'), 'options' => array('layout-primary-heading' => weaverx_cz_group_title(__('Layout For Primary Menu', 'weaver-xtreme')), 'm_primary_move' => array('setting' => array('transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Move Primary Menu to Top', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Move Primary Menu at Top of Header Area (Default: Bottom)', 'weaver-xtreme'), 'type' => 'checkbox')), 'layout-secondary-heading' => weaverx_cz_group_title(__('Layout For Secondary', 'weaver-xtreme')), 'm_secondary_move' => array('setting' => array('transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Move Secondary Menu to Bottom', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Move Secondary Menu at Bottom of Header Area (Default: Top)', 'weaver-xtreme'), 'type' => 'checkbox')), 'layout-allmenus-heading' => weaverx_cz_group_title(__('Layout For All Menus', 'weaver-xtreme'), __('These options that apply to all menus.', 'weaver-xtreme')), 'use_smartmenus' => array('setting' => array('transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Use SmartMenus', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Use <em>SmartMenus</em> rather than default Weaver Xtreme Menus. <em>SmartMenus</em> provide enhanced menu support, including auto-visibility, and transition effects. Applies to all menus. There are additional <em>Smart Menu</em> options available on the <em>Appearance &rarr; +Xtreme Plus</em> menu. Those options are not currently available on the Customizer Menu, but will be eventually.', 'weaver-xtreme'), 'type' => 'checkbox')), 'mobile_alt_switch' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh', 'default' => 767), 'control' => array('control_type' => WEAVERX_PLUS_RANGE_CONTROL, 'label' => __('Menu Mobile/Desktop Switch Point (px)', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('<em>SmartMenus Only:</em> Set when menu bars switch from desktop to mobile. (Default: 767px. Hint: use 768 to force mobile menu on iPad portrait.)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 300, 'max' => 1200, 'step' => 1)))));
     $smart_options = array();
     /**
      * Info Bar
      */
     $layout_sections['layout-info-bar'] = array('panel' => $panel, 'title' => __('Info Bar', 'weaver-xtreme'), 'description' => __('Info Bar with breadcrumbs and paged navigation displayed under Primary Menu.', 'weaver-xtreme'), 'options' => array());
     /**
      * Content
      */
     $layout_sections['layout-content'] = array('panel' => $panel, 'title' => __('Content', 'weaver-xtreme'), 'description' => __('Layout for general page and post content.', 'weaver-xtreme'), 'options' => array('page_cols' => weaverx_cz_select(__('Content Columns', 'weaver-xtreme'), __('Automatically split all page content into columns. You can also use the Per Page option. This option does not apply to posts. (Content will displayed as 1 column on IE&lt;=9.)', 'weaver-xtreme'), 'weaverx_cz_choices_columns', '1', 'refresh'), 'hyphenate' => array('setting' => array('transport' => 'refresh'), 'control' => array('label' => __('Auto Hyphenate Content', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Allow browsers to automatically hyphenate text for appearance.', 'weaver-xtreme'), 'type' => 'checkbox'))));
     /**
      * Post Specific
      */
     $layout_sections['layout-post-specific'] = array('panel' => $panel, 'title' => __('Post Specific', 'weaver-xtreme'), 'description' => __('Post Specific layout - override Content layout.', 'weaver-xtreme'), 'options' => array('post_cols' => weaverx_cz_select(__('Post Content Columns', 'weaver-xtreme'), __('Automatically split all post content into columns for both blog and single page views. <em>This is post content only.</em> This is not the same as "Columns of Posts". (Always 1 column on IE&lt;=9.)', 'weaver-xtreme'), 'weaverx_cz_choices_columns', '1', 'refresh'), 'blog_cols' => weaverx_cz_select(__('Columns of Posts', 'weaver-xtreme'), __('Display posts on blog page with this many columns. <em>Hint:</em> Adjust "Blog pages show at most n posts" on Settings:Reading to be a multiple of columns.', 'weaver-xtreme'), 'weaverx_cz_choices_post_columns', '1', 'refresh'), 'masonry_cols' => weaverx_cz_select(__('Use Masonry for Posts', 'weaver-xtreme'), __('Use the <em>Masonry</em> blog layout option to show dynamically packed posts on blog and archive-like pages. Overrides "Columns of Posts" setting.', 'weaver-xtreme'), 'weaverx_cz_choices_masonry_columns', '0', 'refresh'), 'archive_cols' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('label' => __('Use Columns on Archive Pages', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Display posts on archive-like pages using columns. (Archive, Author, Category, Tag)', 'weaver-xtreme'), 'type' => 'checkbox')), 'blog_first_one' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('label' => __('First Post One Column', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Display the first post in one column.', 'weaver-xtreme'), 'type' => 'checkbox')), 'blog_sticky_one' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('label' => __('Sticky Posts One Column', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Display opening Sticky Posts in one column. If First Post One Column also checked, then first non-sticky post will also be one column.', 'weaver-xtreme'), 'type' => 'checkbox')), 'compact_post_formats' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('label' => __('Compact "Post Format" Posts', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Use compact layout for <em>Post Format</em> posts (Image, Gallery, Video, etc.). Useful for photo blogs and multi-column layouts. Looks great with <em>Masonry</em>.', 'weaver-xtreme'), 'type' => 'checkbox')), 'layout-post-line1' => array('control' => array('control_type' => 'WeaverX_Misc_Control', 'type' => 'line')), 'reset_content_opts' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('label' => __('Clear Major Content Options', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('<em>ADVANCED OPTION!</em> Clear wrapping Content Area bg, borders, padding, and top/bottom margins for views with posts. Allows more flexible post styling. Most people will not need this.', 'weaver-xtreme'), 'type' => 'checkbox')), 'layout-post-line2' => array('control' => array('control_type' => 'WeaverX_Misc_Control', 'type' => 'line')), 'layout-post-excerpt' => weaverx_cz_group_title(__('Excerpts / Full Posts', 'weaver-xtreme'), __('How to display posts in Blog and Archive views.', 'weaver-xtreme')), 'fullpost_blog' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('label' => __('Show Full Blog Posts', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Will display full blog post instead of excerpts on <em>blog pages</em>. Does not override manually added &lt;--more--> breaks.', 'weaver-xtreme'), 'type' => 'checkbox')), 'fullpost_archive' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('label' => __('Full Post for Archives', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'type' => 'checkbox')), 'fullpost_search' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('label' => __('Full Post for Searches', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'type' => 'checkbox')), 'excerpt_length' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh', 'default' => 40), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Excerpt length', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Change post excerpt length.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 2, 'max' => 100, 'step' => 1))), 'layout-post-nav' => weaverx_cz_group_title(__('Post Navigation', 'weaver-xtreme'), __('Navigation for moving between Posts.', 'weaver-xtreme')), 'nav_style' => weaverx_cz_select(__('Blog Navigation Style', 'weaver-xtreme'), __('Style of navigation links on blog pages: "Older/Newer posts", "Previous/Next Post", or by page numbers.', 'weaver-xtreme'), 'weaverx_cz_choices_nav_style', 'old_new', 'refresh'), 'nav_hide_above' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Hide Top Nav Links', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Hide the blog navigation links at the top.', 'weaver-xtreme'), 'type' => 'checkbox')), 'nav_hide_below' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Hide Bottom Nav Links', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Hide the blog navigation links at the bottom.', 'weaver-xtreme'), 'type' => 'checkbox')), 'nav_show_first' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Show Top Nav on First Page', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Show navigation at top even on the first page.', 'weaver-xtreme'), 'type' => 'checkbox')), 'single_nav_style' => weaverx_cz_select(__('Single Page Navigation Style', 'weaver-xtreme'), __('Style of navigation links on post Single pages: Previous/Next, by title, or none.', 'weaver-xtreme'), 'weaverx_cz_choices_single_nav_style', 'title', 'refresh'), 'single_nav_link_cats' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Nav Links to Same Categories', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Single Page navigation links point to posts with same categories.', 'weaver-xtreme'), 'type' => 'checkbox')), 'single_nav_hide_above' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Hide Top Nav Links', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Hide the single page navigation links at the top.', 'weaver-xtreme'), 'type' => 'checkbox')), 'single_nav_hide_below' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Hide Bottom Nav Links', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Hide the single page navigation links at the bottom.', 'weaver-xtreme'), 'type' => 'checkbox'))));
     /**
      * Sidebars
      */
     $layout_sections['layout-sidebars'] = array('panel' => $panel, 'title' => __('Sidebars & Widget Areas', 'weaver-xtreme'), 'description' => __('Main Sidebars and Widget areas. Header and Footer areas options under Header and Footer panels. Note: General Sidebar Layout for different page types is shown first. Layout options for specific Widget Areas (Primary, Secondary, Top, Bottom) are shown after that, so scroll down!', 'weaver-xtreme'), 'options' => array('layout-primary-all-heading' => weaverx_cz_group_title(__('Sidebar Layout for Page Types', 'weaver-xtreme'), __('Sidebar Layout for each type of page ("stack top" used for mobile view).', 'weaver-xtreme')), 'layout_default' => weaverx_cz_select(__('Blog, Post, Page Default', 'weaver-xtreme'), __('Select the default theme layout for blog, single post, attachments, and pages.', 'weaver-xtreme'), 'weaverx_cz_choices_sb_layout', 'right', 'refresh'), 'layout_default_archive' => weaverx_cz_select(__('Archive-like Default', 'weaver-xtreme'), __('Select the default theme layout for all other pages - archives, search, etc.', 'weaver-xtreme'), 'weaverx_cz_choices_sb_layout', 'right', 'refresh'), 'layout_page' => weaverx_cz_select(__('Page', 'weaver-xtreme'), __('Layout for normal Pages on your site.', 'weaver-xtreme'), 'weaverx_cz_choices_sb_layout_default', 'default', 'refresh'), 'layout_blog' => weaverx_cz_select(__('Blog', 'weaver-xtreme'), __('Layout for main blog page. Includes "Page with Posts" Page templates.', 'weaver-xtreme'), 'weaverx_cz_choices_sb_layout_default', 'default', 'refresh'), 'layout_single' => weaverx_cz_select(__('Post Single Page', 'weaver-xtreme'), __('Layout for Posts displayed as a single page.', 'weaver-xtreme'), 'weaverx_cz_choices_sb_layout_default', 'default', 'refresh'), 'layout_attachments' => weaverx_cz_select_plus(__('Attachments', 'weaver-xtreme'), __('Layout for attachment pages such as images.', 'weaver-xtreme'), 'weaverx_cz_choices_sb_layout_default', 'default', 'refresh'), 'layout_archive' => weaverx_cz_select_plus(__('Date Archive', 'weaver-xtreme'), __('Layout for archive by date pages.', 'weaver-xtreme'), 'weaverx_cz_choices_sb_layout_default', 'default', 'refresh'), 'layout_category' => weaverx_cz_select_plus(__('Category Archive', 'weaver-xtreme'), __('Layout for category archive pages.', 'weaver-xtreme'), 'weaverx_cz_choices_sb_layout_default', 'default', 'refresh'), 'layout_tag' => weaverx_cz_select_plus(__('Tags Archive', 'weaver-xtreme'), __('Layout for tag archive pages.', 'weaver-xtreme'), 'weaverx_cz_choices_sb_layout_default', 'default', 'refresh'), 'layout_author' => weaverx_cz_select_plus(__('Author Archive', 'weaver-xtreme'), __('Layout for author archive pages.', 'weaver-xtreme'), 'weaverx_cz_choices_sb_layout_default', 'default', 'refresh'), 'layout_search' => weaverx_cz_select_plus(__('Search Results, 404', 'weaver-xtreme'), __('Layout for search results and 404 pages.', 'weaver-xtreme'), 'weaverx_cz_choices_sb_layout_default', 'default', 'refresh'), 'layout-sb-line1' => array('control' => array('control_type' => 'WeaverX_Misc_Control', 'type' => 'line')), 'layout-primary-widget-heading' => weaverx_cz_group_title(__('Primary Widget Area', 'weaver-xtreme')), 'primary_cols_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh', 'default' => 1), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Columns of Widgets', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'type' => 'range', 'input_attrs' => array('min' => 1, 'max' => 8, 'step' => 1))), 'layout-primary-custom-widths' => weaverx_cz_heading(__('Custom Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON, __('You can optionally specify widget widths, including for specific devices. Overrides the Columns of Widgets setting. Please read the help entry!', 'weaver-xtreme')), '_primary_lw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Desktop Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths separated by comma. Use semi-colon (;) for end of each row. Widths are % of each row. (&diams;)', 'weaver-xtreme'), 'type' => 'text', 'input_attrs' => array('placeholder' => __('25,25,50; 60,40; - for example', 'weaver-xtreme')))), '_primary_mw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Small Tablet Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths. (&diams;)', 'weaver-xtreme'), 'type' => 'text')), '_primary_sw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Phone Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths. (&diams;)', 'weaver-xtreme'), 'type' => 'text')), 'primary_no_widget_margins' => array('setting' => array(), 'control' => array('label' => __('No Smart Widget Margins', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Do not use "smart margins" between  multi-column widgets on rows.', 'weaver-xtreme'), 'type' => 'checkbox')), 'primary_eq_widgets' => array('setting' => array(), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Equal Height Widget Rows', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Make widgets equal height rows if &gt; 1 column.', 'weaver-xtreme'), 'type' => 'checkbox')), 'layout-secondary-widget-heading' => weaverx_cz_group_title(__('Secondary Widget Area', 'weaver-xtreme')), 'secondary_cols_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh', 'default' => 1), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Columns of Widgets', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'type' => 'range', 'input_attrs' => array('min' => 1, 'max' => 8, 'step' => 1))), 'layout-secondary-custom-widths' => weaverx_cz_heading(__('Custom Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON, __('You can optionally specify widget widths, including for specific devices. Overrides the Columns of Widgets setting. Please read the help entry!', 'weaver-xtreme')), '_secondary_lw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Desktop Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths separated by comma. Use semi-colon (;) for end of each row. Widths are % of each row. (&diams;)', 'weaver-xtreme'), 'type' => 'text', 'input_attrs' => array('placeholder' => __('25,25,50; 60,40; - for example', 'weaver-xtreme')))), '_secondary_mw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Small Tablet Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths. (&diams;)', 'weaver-xtreme'), 'type' => 'text')), '_secondary_sw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Phone Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths. (&diams;)', 'weaver-xtreme'), 'type' => 'text')), 'secondary_no_widget_margins' => array('setting' => array(), 'control' => array('label' => __('No Smart Widget Margins', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Do not use "smart margins" between multi-column widgets on rows.', 'weaver-xtreme'), 'type' => 'checkbox')), 'secondary_eq_widgets' => array('setting' => array(), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Equal Height Widget Rows', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Make widgets equal height rows if &gt; 1 column.', 'weaver-xtreme'), 'type' => 'checkbox')), 'layout-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_cols_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh', 'default' => 1), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Columns of Widgets', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'type' => 'range', 'input_attrs' => array('min' => 1, 'max' => 8, 'step' => 1))), 'layout-top-custom-widths' => weaverx_cz_heading(__('Custom Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON, __('You can optionally specify widget widths, including for specific devices. Overrides the Columns of Widgets setting. Please read the help entry!', 'weaver-xtreme')), '_top_lw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Desktop Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths separated by comma. Use semi-colon (;) for end of each row. Widths are % of each row. (&diams;)', 'weaver-xtreme'), 'type' => 'text', 'input_attrs' => array('placeholder' => __('25,25,50; 60,40; - for example', 'weaver-xtreme')))), '_top_mw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Small Tablet Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths. (&diams;)', 'weaver-xtreme'), 'type' => 'text')), '_top_sw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Phone Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths. (&diams;)', 'weaver-xtreme'), 'type' => 'text')), 'top_no_widget_margins' => array('setting' => array(), 'control' => array('label' => __('No Smart Widget Margins', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Do not use "smart margins" between multi-column widgets on rows.', 'weaver-xtreme'), 'type' => 'checkbox')), 'top_eq_widgets' => array('setting' => array(), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Equal Height Widget Rows', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Make widgets equal height rows if &gt; 1 column.', 'weaver-xtreme'), 'type' => 'checkbox')), 'layout-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_cols_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh', 'default' => 1), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Columns of Widgets', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'type' => 'range', 'input_attrs' => array('min' => 1, 'max' => 8, 'step' => 1))), 'layout-bottom-custom-widths' => weaverx_cz_heading(__('Custom Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON, __('You can optionally specify widget widths, including for specific devices. Overrides the Columns of Widgets setting. Please read the help entry!', 'weaver-xtreme')), '_bottom_lw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Desktop Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths separated by comma. Use semi-colon (;) for end of each row. Widths are % of each row. (&diams;)', 'weaver-xtreme'), 'type' => 'text', 'input_attrs' => array('placeholder' => __('25,25,50; 60,40; - for example', 'weaver-xtreme')))), '_bottom_mw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Small Tablet Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths. (&diams;)', 'weaver-xtreme'), 'type' => 'text')), '_bottom_sw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Phone Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths. (&diams;)', 'weaver-xtreme'), 'type' => 'text')), 'bottom_no_widget_margins' => array('setting' => array(), 'control' => array('label' => __('No Smart Widget Margins', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Do not use "smart margins" between multi-column widgets on rows.', 'weaver-xtreme'), 'type' => 'checkbox')), 'bottom_sb_eq_widgets' => array('setting' => array(), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Equal Height Widget Rows', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Make widgets equal height rows if &gt; 1 column.', 'weaver-xtreme'), 'type' => 'checkbox'))));
     /**
      * Widgets
      */
     $layout_sections['layout-widgets'] = array('panel' => $panel, 'title' => __('Individual Widgets', 'weaver-xtreme'), 'options' => array());
     /**
      * Footer
      */
     $layout_sections['layout-footer'] = array('panel' => $panel, 'title' => __('Footer Area', 'weaver-xtreme'), 'options' => array('footer_sb_cols_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh', 'default' => 1), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Footer Columns of Widgets', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'type' => 'range', 'input_attrs' => array('min' => 1, 'max' => 8, 'step' => 1))), 'layout-footer-custom-widths' => weaverx_cz_heading(__('Footer Custom Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON, __('You can optionally specify widget widths, including for specific devices. Overrides the Columns of Widgets setting. Please read the help entry!', 'weaver-xtreme')), '_footer_lw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Footer Desktop Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths separated by comma. Use semi-colon (;) for end of each row. Widths are % of each row. (&diams;)', 'weaver-xtreme'), 'type' => 'text', 'input_attrs' => array('placeholder' => __('25,25,50; 60,40; - for example', 'weaver-xtreme')))), '_footer_mw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Footer Small Tablet Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths. (&diams;)', 'weaver-xtreme'), 'type' => 'text')), '_footer_sw_cols_list' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_text', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Footer Phone Widget Widths', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('List of widget widths. (&diams;)', 'weaver-xtreme'), 'type' => 'text')), 'footer_sb_no_widget_margins' => array('setting' => array(), 'control' => array('label' => __('Footer No Smart Widget Margins', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Do not use "smart margins" between  multi-column widgets on rows.', 'weaver-xtreme'), 'type' => 'checkbox')), 'footer_sb_eq_widgets' => array('setting' => array(), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Footer Equal Height Widget Rows', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Make widgets equal height rows if &gt; 1 column.', 'weaver-xtreme'), 'type' => 'checkbox'))));
     /**
      * Filter the definitions for the controls in the Color Scheme panel of the Customizer.
      *
      * @since 1.3.0.
      *
      * @param array    $layout_sections    The array of definitions.
      */
     $layout_sections = apply_filters('weaverx_customizer_layout_sections', $layout_sections);
     // Merge with master array
     return array_merge($sections, $layout_sections);
 }
    /**
     * Define the sections and settings for the General panel
     */
    function weaverx_customizer_define_typography_sections($sections)
    {
        $panel = 'weaverx_typography';
        $typography_sections = array();
        /**
         * Global
         */
        $typography_sections['typo-global'] = array('panel' => $panel, 'title' => __('Global Typography Options', 'weaver-xtreme'), 'description' => __('Set base font values: Base font size, base line height, and more. The Font Size options for other areas are all derived from these base sizes.', 'weaver-xtreme'), 'options' => array('site_fontsize_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 16), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Site Base Font Size (px)', 'weaver-xtreme'), 'description' => __("Base font size of standard text. This value determines the default medium font size. Note that visitors can change their browser's font size, so final font size can vary, as expected. Default is 16px.", 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 2, 'max' => 50, 'step' => 1))), 'site_line_height_dec' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'postMessage', 'default' => 1.5), 'control' => array('control_type' => WEAVERX_PLUS_RANGE_CONTROL, 'label' => __('Site Base Line Height', 'weaver-xtreme') . WEAVERX_PLUS_ICON, 'description' => __('Set the Base line-height. Line heights for various font sizes based on this multiplier. (Default: 1.5 - no units)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0.1, 'max' => 10.0, 'step' => 0.1))), 'site_fontsize_tablet_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh', 'default' => 16), 'control' => array('control_type' => WEAVERX_PLUS_RANGE_CONTROL, 'label' => __('Site Base Font Size - Small Tablets (px)', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Small Tablet base font size of standard text. (Default medium font size: 16px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 2, 'max' => 50, 'step' => 1))), 'site_fontsize_phone_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'refresh', 'default' => 16), 'control' => array('control_type' => WEAVERX_PLUS_RANGE_CONTROL, 'label' => __('Site Base Font Size - Phones (px)', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Phone base font size of standard text. (Default medium font size: 16px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 2, 'max' => 50, 'step' => 1))), 'custom_fontsize_a' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'refresh', 'default' => 1.0), 'control' => array('control_type' => WEAVERX_PLUS_RANGE_CONTROL, 'label' => __('Custom Font Size A (em)', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Font Size for Custom Font Size A on the Font Size selection options.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0.5, 'max' => 20, 'step' => 0.5))), 'custom_fontsize_b' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'refresh', 'default' => 1.0), 'control' => array('control_type' => WEAVERX_PLUS_RANGE_CONTROL, 'label' => __('Custom Font Size B (em)', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Font Size for Custom Font Size B on the Font Size selection options.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0.5, 'max' => 20, 'step' => 0.5))), 'font_letter_spacing_global_dec' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'postMessage', 'default' => 0.0), 'control' => array('control_type' => WEAVERX_PLUS_RANGE_CONTROL, 'label' => __('Character Spacing (em)', 'weaver-xtreme') . WEAVERX_PLUS_ICON, 'description' => __('Add extra spacing between characters. (Default: 0)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => -0.1, 'max' => 0.25, 'step' => 0.0025))), 'font_word_spacing_global_dec' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'postMessage', 'default' => 0.0), 'control' => array('control_type' => WEAVERX_PLUS_RANGE_CONTROL, 'label' => __('Word Spacing (em)', 'weaver-xtreme') . WEAVERX_PLUS_ICON, 'description' => __('Add extra spacing between words. (Default: 0)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => -0.5, 'max' => 1.0, 'step' => 0.05))), 'typo-google-font-opts' => weaverx_cz_group_title(__('Integrated Google Fonts', 'weaver-xtreme'), __('Weaver Xtreme integrates a selected set of Google Font families. You can disable them, or add differenet language support in this section.', 'weaver-xtreme')), 'disable_google_fonts' => weaverx_cz_checkbox_refresh(__('Disable Google Font Integration', 'weaver-xtreme'), __('<strong>ADVANCED OPTION!</strong> <em>Be sure you understand the consequences of this option.</em> By disabling Google Font Integration, the Google Fonts definitions will <strong>not</strong> be loaded for your site, and the options will not be displayed on Font Family options subsequently. <strong style="color:red;font-weight:bold;">Please note:</strong> Any previously selected Google Font Families will revert to generic serif, sans, mono, and script fonts. Google Font Families WILL be displayed in the Customizer options until you manually refresh the Customizer page.', 'weaver-xtreme')), 'typo-lang-intro' => weaverx_cz_heading(__('Google Font Language Character Sets', 'weaver-xtreme'), __('By default, integrated Google Fonts will include the <em>Latin Extended</em> character set. If you need a Crylic, Greek, Hebrew, or Vietnamese character set, these are currently supported by Google Fonts for <em>some</em> font families.
Google Fonts not supported for these character sets, and character sets for most other world languages will be displayed
using the default browser serif and sans fonts.', 'weaver-xtreme')), 'font_set_cryllic' => weaverx_cz_checkbox_refresh(__('Cryllic', 'weaver-xtreme'), __('Add Cryllic character set to Open Sans, Open Sans Condensed, Roboto (all), Arimo, and Tinos font families.', 'weaver-xtreme')), 'font_set_greek' => weaverx_cz_checkbox_refresh(__('Greek', 'weaver-xtreme'), __('Add Greek character set to Open Sans, Open Sans Condensed, Roboto (all), Arimo, and Tinos font families.', 'weaver-xtreme')), 'font_set_hebrew' => weaverx_cz_checkbox_refresh(__('Hebrew', 'weaver-xtreme'), __('Add Hebrew character set to Arimo and Tinos font families.', 'weaver-xtreme')), 'font_set_vietnamese' => weaverx_cz_checkbox_refresh(__('Greek', 'weaver-xtreme'), __('Add Greek character set to Open Sans, Open Sans Condensed, Roboto (all), Source Sans Pro, Alegreya Sans, Arimo, and Tinos font families.', 'weaver-xtreme')), 'typo-intro' => weaverx_cz_group_title(__('Using Font Families', 'weaver-xtreme'), __('<em>Weaver Xtreme</em> includes support for over 30 font family choices: 16 <strong>Web Safe</strong> fonts, and the remaining from a carefully selected set of <strong>Google Fonts</strong>.
The <strong>Google Fonts</strong> will be displayed the same on every browser, <em>including</em> Android and iOS devices.
The <strong>Web Safe</strong> will be displayed as specified for most modern browsers, but will likely revert to
one of the three basic fonts supported by Android devices, or a limited set for iOS devices. <em>We highly recommend selecting <strong>Google Fonts</strong> for your site.</em><br/>
You can also add more Google Fonts, other free fonts, and even premium fonts using <em>Weaver Xtreme Plus</em>.<br />
You can see a demonstration of <em>Weaver Xtreme\'s</em> fonts here: ', 'weaver-xtreme') . weaverx_help_link('font-demo.html', __('Examples of supported fonts', 'weaver-xtreme'), __('Font Examples', 'weaver-xtreme'), false)), 'typo-font-family-note' => array('control' => array('control_type' => 'WeaverX_Misc_Control', 'label' => __('Add Font Families', 'weaver-xtreme') . WEAVERX_PLUS_ICON, 'description' => sprintf(__('<p>The <strong>%s</strong> allows you add additional free fonts from
	<a href="//www.google.com/webfonts" target="_blank" title="Google Web Fonts"><strong>Google Web Fonts</strong></a>,
    <a href="//www.fontsquirrel.com" target="_blank" title="Font Squirrel"><strong>Font Squirrel</strong></a>,
    or virtually any other free or commercial font source directly to all the
    <em>Font Family</em> selectors found in various text options.</p>
	<p>To define Font Families, please "Save &amp; Publish" options you may have set on this Optimizer, then click to open the
	<strong>%s</strong>, and open the <em>Fonts &amp; Custom</em> tab.
	Be sure to <em>Save Settings</em> before leaving the Legacy Weaver Xtreme Admin panel.</p>', 'weaver-xtreme'), weaverx_cz_get_admin_page(__('Weaver Xtreme Plus Font Control Panel', 'weaver-xtreme')), weaverx_cz_get_admin_page(__('Weaver Xtreme Plus Font Control Panel', 'weaver-xtreme'))), 'type' => 'HTML'))));
        /**
         * General
         */
        $typography_sections['typo-wrapping'] = array('panel' => $panel, 'title' => __('Wrapping Areas', 'weaver-xtreme'), 'description' => __('Set font and other typography attributes. Add new fonts from the <em>Appearance &rarr; Weaver Xtreme Admin &rarr; Main Options &rarr; Fonts &amp; Custom</em> panel. Use Site Colors to set colors.', 'weaver-xtreme'), 'options' => array('typo-heading-global' => array()));
        $new_opts = weaverx_cz_add_fonts('wrapper', __('Site Wrapper &amp; Container Fonts', 'weaver-xtreme'), __('Default (wrapper) typography for site. Set font attributes here that will apply to the entire site. To override other items, set typography for individual items on other panels. (The inherited default Font Family is Open Sans.)', 'weaver-xtreme'), 'postMessage');
        $typography_sections['typo-wrapping']['options'] = array_merge($typography_sections['typo-wrapping']['options'], $new_opts);
        $new_opts = weaverx_cz_add_fonts('container', __('Container Fonts', 'weaver-xtreme'), __('Container typography for site. Wraps content and sidebars.', 'weaver-xtreme'), 'postMessage');
        $typography_sections['typo-wrapping']['options'] = array_merge($typography_sections['typo-wrapping']['options'], $new_opts);
        /**
         * Links
         */
        $typography_sections['typo-links'] = array('panel' => $panel, 'title' => __('Links', 'weaver-xtreme'), 'options' => array());
        $new_opts = weaverx_cz_add_link_fonts('link', __('Global Links', 'weaver-xtreme'), __('Global default for link typography (not including menus and titles). Set Bold, Italic, and Underline by setting those options for specific areas rather than globally to have more control.', 'weaver-xtreme'));
        $typography_sections['typo-links']['options'] = array_merge($typography_sections['typo-links']['options'], $new_opts);
        $new_opts = weaverx_cz_add_link_fonts('ibarlink', __('Info Bar Links', 'weaver-xtreme'), __('<small>Typography for links in Info Bar (uses Standard Link colors if left inherit).', 'weaver-xtreme'));
        $typography_sections['typo-links']['options'] = array_merge($typography_sections['typo-links']['options'], $new_opts);
        $new_opts = weaverx_cz_add_link_fonts('contentlink', __('Content Links', 'weaver-xtreme'), __('<small>Typography for links in Content (uses Standard Link colors if left inherit).', 'weaver-xtreme'));
        $typography_sections['typo-links']['options'] = array_merge($typography_sections['typo-links']['options'], $new_opts);
        $new_opts = weaverx_cz_add_link_fonts('ilink', __('Post Meta Info Links', 'weaver-xtreme'), __('<small>Typography for links in post meta information top and bottom lines. (uses Standard Link colors if left inherit).', 'weaver-xtreme'));
        $typography_sections['typo-links']['options'] = array_merge($typography_sections['typo-links']['options'], $new_opts);
        $new_opts = weaverx_cz_add_link_fonts('wlink', __('Individual Widget Links', 'weaver-xtreme'), __('Typography for links in widgets (uses Standard Link colors if inherit).', 'weaver-xtreme'));
        $typography_sections['typo-links']['options'] = array_merge($typography_sections['typo-links']['options'], $new_opts);
        $new_opts = weaverx_cz_add_link_fonts('footerlink', __('Footer Area Links', 'weaver-xtreme'), __('Typography for links in Footer (Uses Standard Link colors if left inherit).', 'weaver-xtreme'));
        $typography_sections['typo-links']['options'] = array_merge($typography_sections['typo-links']['options'], $new_opts);
        /**
         * Site Header
         */
        $typography_sections['typo-header'] = array('panel' => $panel, 'title' => __('Header Area', 'weaver-xtreme'), 'options' => array());
        $new_opts = weaverx_cz_add_fonts('header', __('Header Area', 'weaver-xtreme'), '', 'postMessage');
        $typography_sections['typo-header']['options'] = array_merge($typography_sections['typo-header']['options'], $new_opts);
        $new_opts = weaverx_cz_add_fonts('site_title', __('Site Title', 'weaver-xtreme'), '', 'postMessage');
        $typography_sections['typo-header']['options'] = array_merge($typography_sections['typo-header']['options'], $new_opts);
        $new_opts = weaverx_cz_add_fonts('tagline', __('Site Tagline', 'weaver-xtreme'), '', 'postMessage');
        $typography_sections['typo-header']['options'] = array_merge($typography_sections['typo-header']['options'], $new_opts);
        $new_opts = weaverx_cz_add_fonts('header_sb', __('Header Widget Area', 'weaver-xtreme'), '', 'postMessage');
        $typography_sections['typo-header']['options'] = array_merge($typography_sections['typo-header']['options'], $new_opts);
        $new_opts = weaverx_cz_add_fonts('header_html', __('Header HTML', 'weaver-xtreme'), '', 'postMessage');
        $typography_sections['typo-header']['options'] = array_merge($typography_sections['typo-header']['options'], $new_opts);
        /**
         * Main Menu
         */
        $typography_sections['typo-menus'] = array('panel' => $panel, 'title' => __('Menus', 'weaver-xtreme'), 'description' => __('Set typography for Menus.', 'weaver-xtreme'), 'options' => array());
        $new_opts = weaverx_cz_add_fonts('m_primary', __('Primary Menu', 'weaver-xtreme'), '', 'postMessage');
        $typography_sections['typo-menus']['options'] = array_merge($typography_sections['typo-menus']['options'], $new_opts);
        $new_opts = weaverx_cz_add_fonts('m_secondary', __('Secondary Menu', 'weaver-xtreme'), '', 'postMessage');
        $typography_sections['typo-menus']['options'] = array_merge($typography_sections['typo-menus']['options'], $new_opts);
        $new_opts = weaverx_cz_add_fonts('m_header_mini', __('Header Mini Menu', 'weaver-xtreme'), '', 'postMessage');
        $typography_sections['typo-menus']['options'] = array_merge($typography_sections['typo-menus']['options'], $new_opts);
        // current page
        $cur_page = array('typo-am-line1' => weaverx_cz_line(), 'typo-allmenus-heading' => weaverx_cz_group_title(__('Typography For All Menus', 'weaver-xtreme'), __('These options specify current page attributes for all menus.', 'weaver-xtreme')), 'menubar_curpage_bold' => array('setting' => array(), 'control' => array('label' => __('Bold Current Page', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Bold Face Current Page and ancestors.', 'weaver-xtreme'), 'type' => 'checkbox')), 'menubar_curpage_em' => array('setting' => array(), 'control' => array('label' => __('Italic Current Page', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Italic Current Page and ancestors.', 'weaver-xtreme'), 'type' => 'checkbox')), 'menubar_curpage_noancestors' => array('setting' => array(), 'control' => array('label' => __('Do Not Highlight Ancestors', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Highlight Current Page only - do not also highlight ancestor items.', 'weaver-xtreme'), 'type' => 'checkbox')));
        $typography_sections['typo-menus']['options'] = array_merge($typography_sections['typo-menus']['options'], $cur_page);
        if (weaverx_cz_is_plus()) {
            $new_opts = weaverx_cz_add_fonts('m_extra', __('Extra Menu', 'weaver-xtreme'), '', 'postMessage');
        } else {
            $new_opts = weaverx_cz_add_plus_message('typo_menus', __('Extra Menu', 'weaver-xtreme'), __('Add extra menus with <strong>Weaver Xtreme Plus</strong>.', 'weaver-xtreme'));
        }
        $typography_sections['typo-menus']['options'] = array_merge($typography_sections['typo-menus']['options'], $new_opts);
        /**
         * Info Bar
         */
        $typography_sections['typo-info-bar'] = array('panel' => $panel, 'title' => __('Info Bar', 'weaver-xtreme'), 'description' => __('Info Bar with breadcrumbs and paged navigation displayed under Primary Menu.', 'weaver-xtreme'), 'options' => array());
        $new_opts = weaverx_cz_add_fonts('info_bar', __('Info Bar', 'weaver-xtreme'), '', 'postMessage');
        $typography_sections['typo-info-bar']['options'] = array_merge($typography_sections['typo-info-bar']['options'], $new_opts);
        /**
         * Content
         */
        $typography_sections['typo-content'] = array('panel' => $panel, 'title' => __('Content', 'weaver-xtreme'), 'description' => __('Typography for general page and post content.', 'weaver-xtreme'), 'options' => array());
        $new_opts = weaverx_cz_add_fonts('content', __('Content Area', 'weaver-xtreme'), '', 'postMessage');
        $typography_sections['typo-content']['options'] = array_merge($typography_sections['typo-content']['options'], $new_opts);
        $new_opts = weaverx_cz_add_fonts('page_title', __('Page Title', 'weaver-xtreme'), '', 'postMessage');
        $typography_sections['typo-content']['options'] = array_merge($typography_sections['typo-content']['options'], $new_opts);
        $new_opts = weaverx_cz_add_fonts('archive_title', __('Archive Pages Title', 'weaver-xtreme'), '', 'postMessage');
        $typography_sections['typo-content']['options'] = array_merge($typography_sections['typo-content']['options'], $new_opts);
        $new_opts = weaverx_cz_add_fonts('content_h', __('Content Headings', 'weaver-xtreme'), __('Headings (&lt;h1&gt;-&lt;h6&gt;) in page and post content.', 'weaver-xtreme'), 'refresh', 'normal');
        $typography_sections['typo-content']['options'] = array_merge($typography_sections['typo-content']['options'], $new_opts);
        /**
         * Post Specific
         */
        $typography_sections['typo-post-specific'] = array('panel' => $panel, 'title' => __('Post Specific', 'weaver-xtreme'), 'description' => __('Post Specific Typography - override Content Typography.', 'weaver-xtreme'), 'options' => array());
        $new_opts = weaverx_cz_add_fonts('post', __('Post Area', 'weaver-xtreme'), '', 'postMessage');
        $typography_sections['typo-post-specific']['options'] = array_merge($typography_sections['typo-post-specific']['options'], $new_opts);
        $new_opts = weaverx_cz_add_fonts('post_title', __('Post Title', 'weaver-xtreme'), '', 'postMessage');
        $typography_sections['typo-post-specific']['options'] = array_merge($typography_sections['typo-post-specific']['options'], $new_opts);
        $new_opts = weaverx_cz_add_fonts('post_info_top', __('Top Post Info Line', 'weaver-xtreme'), '', 'postMessage');
        $typography_sections['typo-post-specific']['options'] = array_merge($typography_sections['typo-post-specific']['options'], $new_opts);
        $new_opts = weaverx_cz_add_fonts('post_info_bottom', __('Bottom Post Info Line', 'weaver-xtreme'), '', 'postMessage');
        $typography_sections['typo-post-specific']['options'] = array_merge($typography_sections['typo-post-specific']['options'], $new_opts);
        /**
         * Sidebars
         */
        $typography_sections['typo-sidebars'] = array('panel' => $panel, 'title' => __('Sidebars &amp; Widget Areas', 'weaver-xtreme'), 'description' => __('Main Sidebars and Widget areas. Header and Footer areas options under Header and Footer panels.', 'weaver-xtreme'), 'options' => array());
        $new_opts = weaverx_cz_add_fonts('primary', __('Primary Area', 'weaver-xtreme'), '', 'postMessage');
        $typography_sections['typo-sidebars']['options'] = array_merge($typography_sections['typo-sidebars']['options'], $new_opts);
        $new_opts = weaverx_cz_add_fonts('secondary', __('Secondary Area', 'weaver-xtreme'), '', 'postMessage');
        $typography_sections['typo-sidebars']['options'] = array_merge($typography_sections['typo-sidebars']['options'], $new_opts);
        $new_opts = weaverx_cz_add_fonts('top', __('Top Widget Areas', 'weaver-xtreme'), __('Properties for all Top Widget areas (Sitewide, Pages, Blog, Archive).', 'weaver-xtreme'), 'postMessage');
        $typography_sections['typo-sidebars']['options'] = array_merge($typography_sections['typo-sidebars']['options'], $new_opts);
        $new_opts = weaverx_cz_add_fonts('bottom', __('Bottom Widget Areas', 'weaver-xtreme'), __('Typography for all Bottom Widget areas (Sitewide, Pages, Blog, Archive).', 'weaver-xtreme'), 'postMessage');
        $typography_sections['typo-sidebars']['options'] = array_merge($typography_sections['typo-sidebars']['options'], $new_opts);
        /**
         * Widgets
         */
        $typography_sections['typo-widgets'] = array('panel' => $panel, 'title' => __('Individual Widgets', 'weaver-xtreme'), 'options' => array());
        $new_opts = weaverx_cz_add_fonts('widget', __('Individual Widgets', 'weaver-xtreme'), '', 'postMessage');
        $typography_sections['typo-widgets']['options'] = array_merge($typography_sections['typo-widgets']['options'], $new_opts);
        $new_opts = weaverx_cz_add_fonts('widget_title', __('Individual Widgets Title', 'weaver-xtreme'), '', 'postMessage');
        $typography_sections['typo-widgets']['options'] = array_merge($typography_sections['typo-widgets']['options'], $new_opts);
        /**
         * Footer
         */
        $typography_sections['typo-footer'] = array('panel' => $panel, 'title' => __('Footer Area', 'weaver-xtreme'), 'options' => array());
        $new_opts = weaverx_cz_add_fonts('footer', __('Footer Area', 'weaver-xtreme'), '', 'postMessage');
        $typography_sections['typo-footer']['options'] = array_merge($typography_sections['typo-footer']['options'], $new_opts);
        $new_opts = weaverx_cz_add_fonts('footer_sb', __('Footer Widget Area', 'weaver-xtreme'), '', 'postMessage');
        $typography_sections['typo-footer']['options'] = array_merge($typography_sections['typo-footer']['options'], $new_opts);
        $new_opts = weaverx_cz_add_fonts('footer_html', __('Footer HTML', 'weaver-xtreme'), '', 'postMessage');
        $typography_sections['typo-footer']['options'] = array_merge($typography_sections['typo-footer']['options'], $new_opts);
        /**
         * Filter the definitions for the controls in the Color Scheme panel of the Customizer.
         *
         * @since 1.3.0.
         *
         * @param array    $typography_sections    The array of definitions.
         */
        $typography_sections = apply_filters('weaverx_customizer_typography_sections', $typography_sections);
        // Merge with master array
        return array_merge($sections, $typography_sections);
    }
function weaverx_cz_add_injection($root, $label = '', $description = '', $version = 'XPlus')
{
    $opt = array();
    if ($version == 'XPlus') {
        $label .= WEAVERX_PLUS_ICON;
    }
    $opt[$root . '-heading'] = weaverx_cz_group_title($label);
    if ($description) {
        $opt[$root . '-desc'] = array('control' => array('control_type' => 'WeaverX_Misc_Control', 'description' => $description, 'type' => 'text'));
    }
    if ($version != 'XPlus' || weaverx_cz_is_plus()) {
        $opt["{$root}_insert"] = array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_html', 'transport' => 'postMessage', 'default' => ''), 'control' => array('control_type' => 'WeaverX_Textarea_Control', 'label' => __('HTML', 'weaver-xtreme'), 'type' => 'textarea', 'input_attrs' => array('rows' => '3', 'placeholder' => __('Any HTML, including shortcodes.', 'weaver-xtreme'))));
        $opt["inject_{$root}_bgcolor"] = array('setting' => array('sanitize_callback' => WEAVERX_CZ_SANITIZE_COLOR, 'transport' => 'postMessage', 'default' => weaverx_cz_getopt("inject_{$root}_bgcolor")), 'control' => array('control_type' => WEAVERX_COLOR_CONTROL, 'label' => __('BG Color', 'weaver-xtreme'), 'description' => ''));
        $opt["inject_{$root}_bgcolor_css"] = weaverx_cz_css(__('Custom CSS', 'weaver-xtreme'));
        $opt["inject_add_class_{$root}"] = array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_html', 'transport' => 'refresh', 'default' => ''), 'control' => array('control_type' => WEAVERX_PLUS_TEXT_CONTROL, 'label' => __('Add Classes', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Space separated class names to add to this area (<em>Advanced option</em>) (&starf;Plus)', 'weaver-xtreme'), 'type' => 'text', 'input_attrs' => array()));
        $opt["hide_front_{$root}"] = weaverx_cz_checkbox_refresh(__('Hide on front page', 'weaver-xtreme'), __('If you check this box, then the code from this area will not be displayed on the front (home) page.', 'weaver-xtreme'));
        $opt["hide_rest_{$root}"] = weaverx_cz_checkbox_refresh(__('Hide on non-front pages', 'weaver-xtreme'), __('If you check this box, then the code from this area will not be displayed on non-front pages.', 'weaver-xtreme'));
    }
    // is plus
    $opt[$root . '-line-break'] = array('control' => array('control_type' => 'WeaverX_Misc_Control', 'label' => '', 'type' => 'line'));
    return $opt;
}
    /**
     * 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);
    }
function weaverx_cz_add_link_fonts($root, $label = '', $description = '', $transport = 'postMessage')
{
    // called for: link, ibarlink, contentlink, ilink, wlink, footerlink
    $opt = array();
    $opt[$root . '-fontlink-hdm'] = weaverx_cz_group_title($label, $description);
    /* $opt[$root . '-heading'] = array(
    		'control' => array( 'control_type' => 'WeaverX_Misc_Control',
    		'label'   => $label,
    		'type'  => 'group-title'));
    
    	if ($description) {
    		$opt[$root . '-desc'] = array(
    		'control' => array( 'control_type' => 'WeaverX_Misc_Control',
    		'description'   => $description,
    		'type'  => 'text'));
    	} */
    // Bold
    $opt[$root . '_strong'] = weaverx_cz_select('', '<strong>' . __('Use Bold for ', 'weaver-xtreme') . $label . '</strong>', 'weaverx_cz_choices_bold_italic', '', $transport);
    // Italic
    $opt[$root . '_em'] = weaverx_cz_select('', '<strong>' . __('Use <em>Italic</em> for ', 'weaver-xtreme') . $label . '</strong>', 'weaverx_cz_choices_bold_italic', '', $transport);
    // UNderline
    $opt[$root . '_u'] = array('setting' => array('transport' => $transport), 'control' => array('label' => __('Underline', 'weaver-xtreme'), 'description' => '<strong>' . __('Use <u>Underline</u> for ', 'weaver-xtreme') . $label . '</strong>', 'type' => 'checkbox'));
    return $opt;
}
    /**
     * 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);
    }
 /**
  * Define the sections and settings for the Custom CSS panel
  */
 function weaverx_customizer_define_custom_sections($sections)
 {
     $panel = 'weaverx_custom';
     $custom_sections = array();
     $custom_sections['custom-help'] = array('panel' => $panel, 'title' => __('Help for Custom CSS', 'weaver-xtreme'), 'options' => array('custom-help-heading' => weaverx_cz_group_title(__('Introductory Help for Custom CSS', 'weaver-xtreme'), __('These Custom CSS sections allow you to add custom CSS for different sections without needing to know the id or class for the section. You should simply enter normal CSS rules enclosed by braces <em>{selector:value;}</em>. You don not need to enter any id or class name. There are other helpful features to this custom CSS feature explained in the Help Documentation. See the link on the desktop <em>Appearance &rarr; Weaver Xtreme Admin &rarr; Theme Help</em> panel. Note that these Custom CSS rules are a very advanced feature of Weaver Xtreme, and most people will not need them. They do allow web designers to build highly customized sites.', 'weaver-xtreme'))));
     /**
      * Global Site Custom CSS
      */
     $custom_sections['custom-global'] = array('panel' => $panel, 'title' => __('Global Custom CSS', 'weaver-xtreme'), 'description' => "Set Custom CSS definitions that apply to entire site. Global Custom CSS is live updated, but won't display properly until you've completed a valid CSS rule.", 'options' => array('add_css' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_css', 'transport' => 'postMessage', 'default' => ''), 'control' => array('control_type' => 'WeaverX_Textarea_Control', 'label' => __('Global Custom CSS', 'weaver-xtreme'), 'description' => __('You can add arbitrary CSS rules here. These rules will come after other CSS stylesheets included for your site, and can be used to override default CSS rules, or to add new CSS rules for other plugins or content. Note that unlike the per-area Custom CSS rules found on other sections of this panel, the CSS rules you add here must be complete, including the class or id selector.', 'weaver-xtreme'), 'type' => 'textarea', 'input_attrs' => array('rows' => '12', 'placeholder' => __('.selector {font-size:150%;font-weight:bold;} /* for example */', 'weaver-xtreme'))))));
     /**
      * Wrapping
      */
     $custom_sections['custom-wrapping'] = array('panel' => $panel, 'title' => __('Wrapping Areas', 'weaver-xtreme'), 'description' => "Set Custom CSS for the Wrapper and Container Areas.", 'options' => array('body_bgcolor_css' => weaverx_cz_css(__('&lt;body&gt; Custom CSS', 'weaver-xtreme'), __('Custom CSS for the &lt;body&gt; tag.', 'weaver-xtreme')), 'wrapper_bgcolor_css' => weaverx_cz_css(__('Wrapper Custom CSS', 'weaver-xtreme')), 'wrapper_add_class' => weaverx_cz_add_class(__('Wrapper: Add Classes', 'weaver-xtreme')), 'container_bgcolor_css' => weaverx_cz_css(__('Container Custom CSS', 'weaver-xtreme')), 'container_add_class' => weaverx_cz_add_class(__('Container: Add Classes', 'weaver-xtreme'))));
     /**
      * Links
      */
     $custom_sections['custom-links'] = array('panel' => $panel, 'title' => __('Links', 'weaver-xtreme'), 'description' => "Set Custom CSS for Links.", 'options' => array('link_color_css' => weaverx_cz_css(__('Standard Links Custom CSS', 'weaver-xtreme'), __('Custom CSS for standard Links.', 'weaver-xtreme')), 'link_hover_color_css' => weaverx_cz_css(__('Standard Links Hover Custom CSS', 'weaver-xtreme')), 'ibarlink_color_css' => weaverx_cz_css(__('Info Bar Links Custom CSS', 'weaver-xtreme'), __('Custom CSS for for links in Info Bar.', 'weaver-xtreme')), 'ibarlink_hover_color_css' => weaverx_cz_css(__('Info Bar Links Hover Custom CSS', 'weaver-xtreme')), 'contentlink_color_css' => weaverx_cz_css(__('Content Links Custom CSS', 'weaver-xtreme'), __('Custom CSS for for links in content area.', 'weaver-xtreme')), 'contentlink_hover_color_css' => weaverx_cz_css(__('Content Links Hover Custom CSS', 'weaver-xtreme')), 'post_title_hover_color' => weaverx_cz_css(__('Post Title Hover Custom CSS', 'weaver-xtreme'), __('The Post Title is really a link.', 'weaver-xtreme')), 'ilink_color_css' => weaverx_cz_css(__('Post Meta Info Line Links Custom CSS', 'weaver-xtreme'), __('Custom CSS for for links in Post Meta Info Lines.', 'weaver-xtreme')), 'ilink_hover_color_css' => weaverx_cz_css(__('Post Meta Info Line Links Hover Custom CSS', 'weaver-xtreme')), 'wlink_color_css' => weaverx_cz_css(__('Individual Widget Links Custom CSS', 'weaver-xtreme'), __('Custom CSS for for links in widgets.', 'weaver-xtreme')), 'wlink_hover_color_css' => weaverx_cz_css(__('Individual Widget Links Hover Custom CSS', 'weaver-xtreme')), 'footerlink_color_css' => weaverx_cz_css(__('Footer Area Links Custom CSS', 'weaver-xtreme'), __('Custom CSS for for links in Footer Area.', 'weaver-xtreme')), 'footerlink_hover_color_css' => weaverx_cz_css(__('Footer Area Links Hover Custom CSS', 'weaver-xtreme'))));
     /**
      * Site Header
      */
     $custom_sections['custom-header'] = array('panel' => $panel, 'title' => __('Header Area', 'weaver-xtreme'), 'options' => array('header_bgcolor_css' => weaverx_cz_css(__('Header Area Custom CSS', 'weaver-xtreme')), 'header_add_class' => weaverx_cz_add_class(__('Header Area: Add Classes', 'weaver-xtreme')), 'site_title_bgcolor_css' => weaverx_cz_css(__('Site Title Custom CSS', 'weaver-xtreme')), 'site_title_add_class' => weaverx_cz_add_class(__('Site Title: Add Classes', 'weaver-xtreme')), 'tagline_bgcolor_css' => weaverx_cz_css(__('Site Tagline Custom CSS', 'weaver-xtreme')), 'title_tagline_bgcolor_css' => weaverx_cz_css(__('Site Title/Tagline Area Custom CSS', 'weaver-xtreme')), 'header_sb_bgcolor_css' => weaverx_cz_css(__('Header Area Widget Area Custom CSS', 'weaver-xtreme')), 'header_sb_add_class' => weaverx_cz_add_class(__('Header Widget Area: Add Classes', 'weaver-xtreme')), 'header_html_bgcolor_css' => weaverx_cz_css(__('Header Area HTML Area Custom CSS', 'weaver-xtreme')), 'header_html_add_class' => weaverx_cz_add_class(__('Header HTML Area: Add Classes', 'weaver-xtreme')), 'header_image_add_class' => weaverx_cz_add_class(__('Header Image: Add Classes', 'weaver-xtreme'))));
     /**
      * Main Menu
      */
     $custom_sections['custom-menus'] = array('panel' => $panel, 'title' => __('Menus', 'weaver-xtreme'), 'description' => __('Set custom for Menus.', 'weaver-xtreme'), 'options' => array('custom-mm-heading' => weaverx_cz_group_title(__('Primary Menu', 'weaver-xtreme')), 'm_primary_bgcolor_css' => weaverx_cz_css(__('Primary Menu Bar Custom CSS', 'weaver-xtreme')), 'm_primary_add_class' => weaverx_cz_add_class(__('Primary Menu Bar: Add Classes', 'weaver-xtreme')), 'm_primary_link_bgcolor_css' => weaverx_cz_css(__('Primary Menu Bar Link Custom CSS', 'weaver-xtreme')), 'm_primary_hover_bgcolor_css' => weaverx_cz_css(__('Primary Menu Bar Link Hover Custom CSS', 'weaver-xtreme')), 'm_primary_sub_bgcolor_css' => weaverx_cz_css(__('Primary Sub-Menu Custom CSS', 'weaver-xtreme')), 'm_primary_sub_hover_bgcolor_css' => weaverx_cz_css(__('Primary Sub-Menu Hover Custom CSS', 'weaver-xtreme')), 'custom-sm-line1' => weaverx_cz_line(), 'custom-sm-heading' => weaverx_cz_group_title(__('Secondary Menu', 'weaver-xtreme'), __('You must define a Secondary Menu from the Custom Menus Content menu.', 'weaver-xtreme')), 'm_secondary_bgcolor_css' => weaverx_cz_css(__('Secondary Menu Bar Custom CSS', 'weaver-xtreme')), 'm_secondary_add_class' => weaverx_cz_add_class(__('Secondary Menu Bar: Add Classes', 'weaver-xtreme')), 'm_secondary_link_bgcolor_css' => weaverx_cz_css(__('Secondary Menu Bar Link Custom CSS', 'weaver-xtreme')), 'm_secondary_hover_bgcolor_css' => weaverx_cz_css(__('Secondary Menu Bar Link Hover Custom CSS', 'weaver-xtreme')), 'm_secondary_sub_bgcolor_css' => weaverx_cz_css(__('Secondary Sub-Menu Custom CSS', 'weaver-xtreme')), 'm_secondary_sub_hover_bgcolor_css' => weaverx_cz_css(__('Secondary Sub-Menu Hover Custom CSS', 'weaver-xtreme')), 'custom-minim-line1' => weaverx_cz_line(), 'custom-minim-heading' => weaverx_cz_group_title(__('Header Mini Menu', 'weaver-xtreme'), __('You must define a Header Menu from the Custom Menus Content menu.', 'weaver-xtreme')), 'm_header_mini_bgcolor_css' => weaverx_cz_css(__('Header Mini Menu Custom CSS', 'weaver-xtreme'), __('Custom CSS for full Mini Menu "bar".', 'weaver-xtreme')), 'm_header_mini_hover_color_css' => weaverx_cz_css(__('Mini Menu Links Hover Custom CSS', 'weaver-xtreme'), __('Custom CSS for for link hover items in Mini Menu.', 'weaver-xtreme')), 'custom-allm-line1' => weaverx_cz_line(), 'custom-allmenus-heading' => weaverx_cz_group_title(__('Custom For All Menus', 'weaver-xtreme'), __('These options specify current page attributes for all menus.', 'weaver-xtreme')), 'menubar_curpage_bgcolor_css' => weaverx_cz_css(__('Current Page', 'weaver-xtreme'))));
     if (weaverx_cz_is_plus()) {
         $new_opts = array('custom-xm-line1' => weaverx_cz_line(), 'custom-xm-heading' => weaverx_cz_group_title(__('Extra Menu', 'weaver-xtreme') . WEAVERX_PLUS_ICON), 'm_extra_bgcolor_css' => weaverx_cz_css(__('Extra Menu Bar Custom CSS', 'weaver-xtreme')), 'm_extra_add_class' => weaverx_cz_add_class(__('Extra Menu Bar: Add Classes', 'weaver-xtreme')), 'm_extra_link_bgcolor_css' => weaverx_cz_css(__('Extra Menu Bar Link Custom CSS', 'weaver-xtreme')), 'm_extra_hover_bgcolor_css' => weaverx_cz_css(__('Extra Menu Bar Link Hover Custom CSS', 'weaver-xtreme')), 'm_extra_sub_bgcolor_css' => weaverx_cz_css(__('Extra Sub-Menu Custom CSS', 'weaver-xtreme')), 'm_extra_sub_hover_bgcolor_css' => weaverx_cz_css(__('Extra Sub-Menu Hover Custom CSS', '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
     $custom_sections['custom-menus']['options'] = array_merge($custom_sections['custom-menus']['options'], $new_opts);
     /**
      * Info Bar
      */
     $custom_sections['custom-info-bar'] = array('panel' => $panel, 'title' => __('Info Bar', 'weaver-xtreme'), 'description' => __('Info Bar with breadcrumbs and paged navigation displayed under Primary Menu.', 'weaver-xtreme'), 'options' => array('custom-info-bar-heading' => weaverx_cz_heading(__('Info Bar', 'weaver-xtreme')), 'infobar_bgcolor_css' => weaverx_cz_css(__('Info Bar Custom CSS', 'weaver-xtreme')), 'infobar_bgcolor_css' => weaverx_cz_css(__('Info Bar Custom CSS', 'weaver-xtreme')), 'infobar_add_class' => weaverx_cz_add_class(__('Info Bar: Add Classes', 'weaver-xtreme'))));
     /**
      * Content
      */
     $custom_sections['custom-content'] = array('panel' => $panel, 'title' => __('Content', 'weaver-xtreme'), 'description' => __('custom for general page and post content.', 'weaver-xtreme'), 'options' => array('custom-content-heading' => weaverx_cz_heading(__('General Content', 'weaver-xtreme')), 'content_bgcolor_css' => weaverx_cz_css(__('Content Custom CSS', 'weaver-xtreme')), 'content_add_class' => weaverx_cz_add_class(__('Content: Add Classes', 'weaver-xtreme')), 'page_title_bgcolor_css' => weaverx_cz_css(__('Page Title Custom CSS', 'weaver-xtreme')), 'archive_title_bgcolor_css' => weaverx_cz_css(__('Archive Page Title Custom CSS', 'weaver-xtreme')), 'content_h_bgcolor_css' => weaverx_cz_css(__('Content H headings Custom CSS', 'weaver-xtreme')), 'editor_bgcolor_css' => weaverx_cz_css(__('Tiny MCE Editor Background color', 'weaver-xtreme')), 'search_bgcolor_css' => weaverx_cz_css(__('Search Box Custom CSS', 'weaver-xtreme')), 'hr_color_css' => weaverx_cz_css(__('&lt;HR&gt; Custom CSS', 'weaver-xtreme')), 'comment_headings_color_css' => weaverx_cz_css(__('Comment Headings Custom CSS', 'weaver-xtreme')), 'comment_content_bgcolor_css' => weaverx_cz_css(__('Comment Content Custom CSS', 'weaver-xtreme')), 'comment_submit_bgcolor_css' => weaverx_cz_css(__('Comment Submit Button Custom CSS', 'weaver-xtreme')), 'content-image-css' => weaverx_cz_heading(__('Images', 'weaver-xtreme'), __('Custom CSS for Images is found on "Images : Global Image Settings".', 'weaver-xtreme'))));
     /**
      * Post Specific
      */
     $custom_sections['custom-post-specific'] = array('panel' => $panel, 'title' => __('Post Specific', 'weaver-xtreme'), 'description' => __('Post Specific custom - override Content custom.', 'weaver-xtreme'), 'options' => array('custom-postspecific-heading' => weaverx_cz_heading(__('Post Specific', 'weaver-xtreme')), 'post_bgcolor_css' => weaverx_cz_css(__('Post Area Custom CSS', 'weaver-xtreme')), 'post_add_class' => weaverx_cz_add_class(__('Post Area: Add Classes', 'weaver-xtreme')), 'stickypost_bgcolor_css' => weaverx_cz_css(__('Sticky Posts Custom CSS', 'weaver-xtreme')), 'post_title_bgcolor_css' => weaverx_cz_css(__('Post Title BG Custom CSS', 'weaver-xtreme')), 'post_title_color_css' => weaverx_cz_css(__('Post Title Text Custom CSS', 'weaver-xtreme'), __('Remember the Post Title is a link. The Hover Custom CSS found on Links menu.', 'weaver-xtreme')), 'post_info_top_bgcolor_css' => weaverx_cz_css(__('Posts Top Meta Info Line Custom CSS', 'weaver-xtreme')), 'post_info_bottom_bgcolor_css' => weaverx_cz_css(__('Posts Bottom Meta Info Line Custom CSS', 'weaver-xtreme')), 'post_author_bgcolor_css' => weaverx_cz_css(__('Author Bio Custom CSS', 'weaver-xtreme'))));
     /**
      * Sidebars
      */
     $custom_sections['custom-sidebars'] = array('panel' => $panel, 'title' => __('Sidebars &amp; Widget Areas', 'weaver-xtreme'), 'description' => __('Main Sidebars and Widget areas. Header and Footer areas options under Header and Footer panels.', 'weaver-xtreme'), 'options' => array('custom-primary-widget-heading' => weaverx_cz_group_title(__('Primary Widget Area', 'weaver-xtreme')), 'primary_bgcolor_css' => weaverx_cz_css(__('Primary Widget Area Custom CSS', 'weaver-xtreme')), 'primary_add_class' => weaverx_cz_add_class(__('Primary Widget Area: Add Classes', 'weaver-xtreme')), 'custom-secondary-widget-heading' => weaverx_cz_group_title(__('Secondary Widget Area', 'weaver-xtreme')), 'secondary_bgcolor_css' => weaverx_cz_css(__('Secondary Widget Area Custom CSS', 'weaver-xtreme')), 'secondary_add_class' => weaverx_cz_add_class(__('Secondary Widget Area: Add Classes', 'weaver-xtreme')), 'custom-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_bgcolor_css' => weaverx_cz_css(__('Top Widget Areas Custom CSS', 'weaver-xtreme')), 'top_add_class' => weaverx_cz_add_class(__('Top Widget Areas: Add Classes', 'weaver-xtreme')), 'custom-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_bgcolor_css' => weaverx_cz_css(__('Bottom Widget Areas Custom CSS', 'weaver-xtreme')), 'bottom_add_class' => weaverx_cz_add_class(__('Bottom Widget Areas: Add Classes', 'weaver-xtreme'))));
     /**
      * Widgets
      */
     $custom_sections['custom-widgets'] = array('panel' => $panel, 'title' => __('Individual Widgets', 'weaver-xtreme'), 'options' => array('custom-widgets-heading' => weaverx_cz_heading(__('Individual Widgets', 'weaver-xtreme')), 'widget_bgcolor_css' => weaverx_cz_css(__('Individual Widget Custom CSS', 'weaver-xtreme')), 'widget_add_class' => weaverx_cz_add_class(__('Individual Widget: Add Classes', 'weaver-xtreme')), 'widget_title_bgcolor_css' => weaverx_cz_css(__('Individual Widget Title Custom CSS', 'weaver-xtreme'))));
     /**
      * Footer
      */
     $custom_sections['custom-footer'] = array('panel' => $panel, 'title' => __('Footer Area', 'weaver-xtreme'), 'options' => array('footer_bgcolor_css' => weaverx_cz_css(__('Footer Area Custom CSS', 'weaver-xtreme')), 'footer_add_class' => weaverx_cz_add_class(__('Footer Area: Add Classes', 'weaver-xtreme')), 'footer_sb_bgcolor_css' => weaverx_cz_css(__('Footer Area Widget Area Custom CSS', 'weaver-xtreme')), 'footer_sb_add_class' => weaverx_cz_add_class(__('Footer Widget Area: Add Classes', 'weaver-xtreme')), 'footer_html_bgcolor_css' => weaverx_cz_css(__('Footer Area HTML Area Custom CSS', 'weaver-xtreme')), 'footer_html_class' => weaverx_cz_add_class(__('Footer HTML Area: Add Classes', 'weaver-xtreme'))));
     /**
      * Filter the definitions for the controls in the Color Scheme panel of the Customizer.
      *
      * @since 1.3.0.
      *
      * @param array    $custom_sections    The array of definitions.
      */
     $custom_sections = apply_filters('weaverx_customizer_custom_sections', $custom_sections);
     // Merge with master array
     return array_merge($sections, $custom_sections);
 }
 /**
  * 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);
 }
 /**
  * Define the sections and settings for the spacing panel
  */
 function weaverx_customizer_define_spacing_sections($sections)
 {
     $panel = 'weaverx_spacing';
     $spacing_sections = array();
     // global settings
     $spacing_sections['spacing-global'] = array('panel' => $panel, 'title' => __('Global Spacing Options', 'weaver-xtreme'), 'description' => 'Set some global settings that affect spacing, width, and alignment.', 'options' => array('theme_width_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 940), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Theme Width (px)', 'weaver-xtreme'), 'description' => __('This options sets the maximum width of your site. Your site will automatically display responsively on tablets and phones. You can manually set the value to 9999 for full screen width, or to any other value you want. Widths less than 768px may give unexpected results on mobile devices. Weaver Xtreme can not create a fixed-width site.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 770, 'max' => 3200, 'step' => 10))), 'spacing-line-1' => array('control' => array('control_type' => 'WeaverX_Misc_Control', 'type' => 'line')), 'smart_margin_int' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'refresh', 'default' => 1.0), 'control' => array('control_type' => WEAVERX_PLUS_RANGE_CONTROL, 'label' => __('Smart Margin Width (%)', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Width used for smart column margins for Sidebars and Content Area. (Default: 1%)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0.25, 'max' => 10.0, 'step' => 0.25)))));
     /**
      * General
      */
     $container_width_transport = weaverx_getopt_checked('container_extend_width') ? 'refresh' : 'postMessage';
     $container_refresh = weaverx_getopt_checked('container_extend_width') ? WEAVERX_REFRESH_ICON : '';
     $spacing_sections['spacing-wrapping'] = array('panel' => $panel, 'title' => __('Wrapping Areas', 'weaver-xtreme'), 'description' => 'Set margins, padding, spacing, heights, positioning, and widths for site wrapper and container.', 'options' => array('full_browser_height' => array('setting' => array(), 'control' => array('label' => __('Full Browser Height', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('For short pages, add extra padding to  of content to force full browser height.', 'weaver-xtreme'), 'type' => 'checkbox')), 'wrapper-space-heading' => weaverx_cz_group_title(__('Global Wrapper Area', 'weaver-xtreme'), __('The Wrapper is the &lt;div&gt; that wraps entire site.', 'weaver-xtreme')), 'wrapper_padding_T' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Padding (px)', 'weaver-xtreme'), 'description' => __('These options control the padding (inner space) around the area.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'wrapper_padding_B' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bottom Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'wrapper_padding_L' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Left Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'wrapper_padding_R' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Right Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'wrapper_margin_T' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Margin (px)', 'weaver-xtreme'), 'description' => __('Set Top and Bottom Margins. <em>Side margins are auto-generated.</em>', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'wrapper_margin_B' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bottom Margin (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'container-space-heading' => weaverx_cz_group_title(__('Container Area', 'weaver-xtreme'), __('The Container is the &lt;div&gt; that wraps the content. Does not include Header and Footer.', 'weaver-xtreme')), 'container_width_int' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => $container_width_transport, 'default' => 100), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Container Width (%)', 'weaver-xtreme') . $container_refresh, 'description' => __('Width of Area in % of enclosing area on desktop and small tablet. Hint: use with Container "Center align" setting.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 10, 'max' => 100, 'step' => 0.5))), 'container_max_width_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 2000), 'control' => array('control_type' => WEAVERX_PLUS_RANGE_CONTROL, 'label' => __('Container Area Max Width (px)', 'weaver-xtreme') . WEAVERX_PLUS_ICON, 'description' => __('This advanced option allows you to set a maximum width for this area. This is not commonly used, but can make interesting designs, especially if you center align the area.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 480, 'max' => 4000, 'step' => 5))), 'container_align' => weaverx_cz_select(__('Align Container Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_align', 'float-left', $container_width_transport), 'container_padding_T' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Padding (px)', 'weaver-xtreme'), 'description' => __('These options control the padding (inner space) around the area.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'container_padding_B' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bottom Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'container_padding_L' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => $container_width_transport, 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Left Padding (px)', 'weaver-xtreme') . $container_refresh, 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'container_padding_R' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => $container_width_transport, 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Right Padding (px)', 'weaver-xtreme') . $container_refresh, 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'container_margin_T' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Margin (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'container_margin_B' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bottom Margin (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1)))));
     /**
      * Site Header
      *
      */
     $hdr_width_transport = weaverx_getopt_checked('header_extend_width') ? 'refresh' : 'postMessage';
     $hdr_refresh = weaverx_getopt_checked('header_extend_width') ? WEAVERX_REFRESH_ICON : '';
     $spacing_sections['spacing-header'] = array('panel' => $panel, 'title' => __('Header Area', 'weaver-xtreme'), 'description' => __('Set spacing for Header Area. Option groups include <span style="color:blue;">Site Header Area, Site Title and Tagline, Header Widget Area</span>, and <span style="color:blue;">Header HTML Area</span>.', 'weaver-xtreme'), 'options' => array('spacing-heading-header' => weaverx_cz_group_title(__('Site Header Area', 'weaver-xtreme'), __('Spacing of the whole Header Area', 'weaver-xtreme')), 'header_width_int' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => $hdr_width_transport, 'default' => 100), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Header Area Width (%)', 'weaver-xtreme') . $hdr_refresh, 'description' => __('Width of Area in % of enclosing area on desktop and small tablet. Hint: use with Header "Center align" setting.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 10, 'max' => 100, 'step' => 0.5))), 'header_max_width_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 2000), 'control' => array('control_type' => WEAVERX_PLUS_RANGE_CONTROL, 'label' => __('Header Area Max Width (px)', 'weaver-xtreme') . WEAVERX_PLUS_ICON, 'description' => __('This advanced option allows you to set a maximum width for this area. This is not commonly used, but can make interesting designs, especially if you center align the area.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 480, 'max' => 4000, 'step' => 5))), 'header_align' => weaverx_cz_select(__('Align Header Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_align', 'float-left', 'postMessage'), 'header_padding_T' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Padding (px)', 'weaver-xtreme'), 'description' => __('These options control the padding (inner space) around the area.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'header_padding_B' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bottom Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'header_padding_L' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => $hdr_width_transport, 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Left Padding (px)', 'weaver-xtreme') . $hdr_refresh, 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'header_padding_R' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => $hdr_width_transport, 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Right Padding (px)', 'weaver-xtreme') . $hdr_refresh, 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'header_margin_T' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Margin (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'header_margin_B' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bottom Margin (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'spacing-title-header' => weaverx_cz_group_title(__('Site Title and Tagline', 'weaver-xtreme'), __('Spacing for the Site Title and Tagline', 'weaver-xtreme')), 'title_over_image' => array('setting' => array(), 'control' => array('label' => __('Move Title/Tagline over Image', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Move the Title, Tagline, Search, Logo/HTML and Mini Menu over the Header Image.', 'weaver-xtreme'), 'type' => 'checkbox')), 'spacing-titleposition' => weaverx_cz_heading(__('Title Position', 'weaver-xtreme'), __('Adjust left and top margins for Title. Decimal and negative values allowed.', 'weaver-xtreme')), 'site_title_position_xy_X' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'postMessage', 'default' => 7), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Site Title Left Margin (%)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => -20, 'max' => 50, 'step' => 0.25))), 'site_title_position_xy_Y' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'postMessage', 'default' => 0.25), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Site Title Top Margin (%)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => -50, 'max' => 50, 'step' => 0.25))), 'site_title_max_w' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'postMessage', 'default' => 90), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Site Title Maximum Width (%)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 10, 'max' => 100, 'step' => 1))), 'spacing-tagposition' => weaverx_cz_heading(__('Tagline Position', 'weaver-xtreme'), __('Adjust left and top margins for Tagline. Decimal and negative values allowed.', 'weaver-xtreme')), 'tagline_xy_X' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'postMessage', 'default' => 10), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Site Tagline Left Margin (%)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => -20, 'max' => 50, 'step' => 0.25))), 'tagline_xy_Y' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Site Tagline Top Margin (%)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => -50, 'max' => 50, 'step' => 0.25))), 'tagline_max_w' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'postMessage', 'default' => 90), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Site Tagline Maximum Width (%)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 10, 'max' => 100, 'step' => 1))), 'spacing-mm-note' => weaverx_cz_heading(__('Header Mini Menu Top Margin', 'weaver-xtreme'), __('This setting is found on the <em>Spacing &rarr; Menus</em>.', 'weaver-xtreme')), 'spacing-widgetarea-header' => weaverx_cz_group_title(__('Header Widget Area', 'weaver-xtreme'), __('Spacing for the Header Widget Area', 'weaver-xtreme')), 'header_sb_width_int' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'postMessage', 'default' => 100), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Header Widget Area Width (%)', 'weaver-xtreme'), 'description' => __('Width of Area in % of enclosing area on desktop and small tablet. Hint: use with Align Header Widget Area "Center align" setting.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 10, 'max' => 100, 'step' => 0.5))), 'header_sb_align' => weaverx_cz_select(__('Align Header Widget Area Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_align', 'header_sb_align', 'refresh'), 'header_sb_padding_T' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'header_sb_padding_B' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bottom Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'header_sb_padding_L' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Left Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'header_sb_padding_R' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Right Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'header_sb_margin_T' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Margin (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'header_sb_margin_B' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bottom Margin (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'spacing-heading-widgets' => weaverx_cz_heading(__('Widget Area Columns', 'weaver-xtreme'), __('<strong>NOTE:</strong> You can set number of columns per widget area on the <em>Layout</em> panel.', 'weaver-xtreme')), 'spacing-htmltarea-header' => weaverx_cz_group_title(__('Header HTML Area', 'weaver-xtreme'), __('Spacing for the Header HTML Area', 'weaver-xtreme')), 'header_html_width_int' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'postMessage', 'default' => 100), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Header HTML Area Width (%)', 'weaver-xtreme'), 'description' => __('Width of Area in % of enclosing area on desktop and small tablet. Hint: use with Align HTML Area "Center align" setting. You will have to "Save & Publish" and refresh this page if you are using Center Area align.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 10, 'max' => 100, 'step' => 0.5))), 'header_html_align' => weaverx_cz_select(__('Align Header HTML Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_align', 'float-left', 'refresh'), 'header_html_center_content' => array('setting' => array('transport' => 'postMessage'), 'control' => array('label' => __('Center Content within HTML Area', 'weaver-xtreme'), 'type' => 'checkbox')), 'header_html_padding_T' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'header_html_padding_B' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bottom Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'header_html_padding_L' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Left Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'header_html_padding_R' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Right Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'header_html_margin_T' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Margin (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'header_html_margin_B' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bottom Margin (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1)))));
     /**
      * Main Menu
      */
     $spacing_sections['spacing-menus'] = array('panel' => $panel, 'title' => __('Menus', 'weaver-xtreme'), 'description' => __('Set spacing for Primary, Secondary, and Extra Menus.', 'weaver-xtreme'), 'options' => array('primary-mm-title' => weaverx_cz_group_title(__('Primary Menu', 'weaver-xtreme')), 'm_primary_align' => weaverx_cz_select(__('Align Primary Menu Bar', 'weaver-xtreme'), __('Align this menu on desktop view. Mobile, accordion, and vertical menus always left aligned.', 'weaver-xtreme'), 'weaverx_cz_choices_align_menu', 'float-left'), 'm_primary_menu_pad_dec' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'refresh', 'default' => 0.6), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Desktop Menu Vertical Padding (em)', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Add vertical padding to Desktop menu bar and submenus.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 10, 'step' => 0.1))), 'm_primary_top_margin_dec' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Menu Top Margin (px)', 'weaver-xtreme'), 'description' => '', 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 30, 'step' => 1))), 'm_primary_bottom_margin_dec' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Menu Bottom Margin (px)', 'weaver-xtreme'), 'description' => '', 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 30, 'step' => 1))), 'm_primary_right_padding_dec' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'refresh', 'default' => 0.0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Desktop Menu Spacing (em)', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Add space between desktop menu bar items. (not on Smart Menus)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0.0, 'max' => 6, 'step' => 0.2))), 'm_primary_html_margin_dec' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'refresh', 'default' => 0), 'control' => array('control_type' => WEAVERX_PLUS_RANGE_CONTROL, 'label' => __('Menu HTML: Top Margin (em)', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Margin above Added Menu HTML (Used to adjust for Desktop menu. Negative values can help.)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => -5.0, 'max' => 5.0, 'step' => 0.1))), 'spacing-pm-line1' => weaverx_cz_line(), 'spacing-sm-heading' => weaverx_cz_group_title(__('Secondary Menu', 'weaver-xtreme'), __('You must define a Secondary Menu from the Custom Menus Content menu.', 'weaver-xtreme')), 'm_secondary_align' => weaverx_cz_select(__('Align Secondary Menu Bar', 'weaver-xtreme'), __('Align this menu on desktop view. Mobile, accordion, and vertical menus always left aligned.', 'weaver-xtreme'), 'weaverx_cz_choices_align_menu', 'float-left'), 'm_secondary_menu_pad_dec' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'refresh', 'default' => 0.6), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Desktop Menu Vertical Padding (em)', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Add vertical padding to Desktop menu bar and submenus.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 10, 'step' => 0.1))), 'm_secondary_top_margin_dec' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Menu Top Margin (px)', 'weaver-xtreme'), 'description' => '', 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 30, 'step' => 1))), 'm_secondary_bottom_margin_dec' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Menu Bottom Margin (px)', 'weaver-xtreme'), 'description' => '', 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 30, 'step' => 1))), 'm_secondary_right_padding_dec' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'refresh', 'default' => 0.0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Desktop Menu Spacing (em)', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Add space between desktop menu bar items. (not on Smart Menus)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0.0, 'max' => 6, 'step' => 0.2))), 'm_secondary_html_margin_dec' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'refresh', 'default' => 0), 'control' => array('control_type' => WEAVERX_PLUS_RANGE_CONTROL, 'label' => __('Menu HTML: Top Margin (em)', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Margin above Added Menu HTML (Used to adjust for Desktop menu. Negative values can help.)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => -5.0, 'max' => 5.0, 'step' => 0.1))), 'spacing-mm-heading' => weaverx_cz_group_title(__('Header Mini Menu', 'weaver-xtreme'), ''), 'm_header_mini_top_margin_dec' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'postMessage', 'default' => 0.0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Mini Menu Top Margin (em))', 'weaver-xtreme'), 'description' => __('Top margin for Header Mini Menu. Negative value moves it up. (Default: -1.0em', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => -10.0, 'max' => 10.0, 'step' => 0.25)))));
     if (weaverx_cz_is_plus()) {
         $new_opts = array('spacing-xm-line1' => weaverx_cz_line(), 'extra-mm-title' => weaverx_cz_group_title(__('Extra Menu', 'weaver-xtreme') . WEAVERX_PLUS_ICON), 'm_extra_align' => weaverx_cz_select(__('Align Extra Menu Bar', 'weaver-xtreme'), __('Align this menu on desktop view. Mobile, accordion, and vertical menus always left aligned.', 'weaver-xtreme'), 'weaverx_cz_choices_align_menu', 'float-left'), 'm_extra_menu_pad_dec' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'refresh', 'default' => 0.6), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Desktop Menu Vertical Padding (em)', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Add vertical padding to Desktop menu bar and submenus.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 10, 'step' => 0.1))), 'm_extra_top_margin_dec' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Menu Top Margin (px)', 'weaver-xtreme'), 'description' => '', 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 30, 'step' => 1))), 'm_extra_bottom_margin_dec' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Menu Bottom Margin (px)', 'weaver-xtreme'), 'description' => '', 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 30, 'step' => 1))), 'm_extra_right_padding_dec' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'refresh', 'default' => 0.0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Desktop Menu Spacing (em)', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Add space between desktop menu bar items. (not on Smart Menus)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0.0, 'max' => 6, 'step' => 0.2))), 'm_extra_html_margin_dec' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'refresh', 'default' => 0), 'control' => array('control_type' => WEAVERX_PLUS_RANGE_CONTROL, 'label' => __('Menu HTML: Top Margin (em)', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Margin above Added Menu HTML (Used to adjust for Desktop menu. Negative values can help.)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => -5.0, 'max' => 5.0, 'step' => 0.1))));
     } 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
     $spacing_sections['spacing-menus']['options'] = array_merge($spacing_sections['spacing-menus']['options'], $new_opts);
     /**
      * Info Bar
      */
     $spacing_sections['spacing-info-bar'] = array('panel' => $panel, 'title' => __('Info Bar', 'weaver-xtreme'), 'description' => __('Info Bar with breadcrumbs and paged navigation displayed under Primary Menu.', 'weaver-xtreme'), 'options' => array('spacing-info-bar-heading' => weaverx_cz_heading(__('Info Bar', 'weaver-xtreme')), 'infobar_width_int' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'postMessage', 'default' => 100), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Info Bar Width (%)', 'weaver-xtreme'), 'description' => __('Width of Area in % of enclosing area on desktop and small tablet. Hint: use with Info Bar "Center align" setting.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 10, 'max' => 100, 'step' => 0.5))), 'infobar_align' => weaverx_cz_select(__('Align Info Bar Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_align', 'float-left', 'refresh'), 'infobar_padding_T' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 5), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Padding (px)', 'weaver-xtreme'), 'description' => __('These options control the padding (inner space) around the area.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'infobar_padding_B' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 5), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bottom Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'infobar_padding_L' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 5), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Left Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'infobar_padding_R' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 5), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Right Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'infobar_margin_T' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Margin (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'infobar_margin_B' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bottom Margin (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1)))));
     /**
      * Content
      */
     $spacing_sections['spacing-content'] = array('panel' => $panel, 'title' => __('Content', 'weaver-xtreme'), 'description' => __('Spacing for general page and post content.', 'weaver-xtreme'), 'options' => array('content_padding_T' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 4), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'content_padding_B' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 8), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bottom Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'content_padding_L' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 2), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Left Padding (%)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 30, 'step' => 0.25))), 'content_padding_R' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 2), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Right Padding (%)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 30, 'step' => 0.25))), 'content_margin_T' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Margin (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'content_margin_B' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bottom Margin (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'spacing-content-widthinfo' => weaverx_cz_heading(__('Width', 'weaver-xtreme'), __('The width of this area is automatically determined by the enclosing area.', 'weaver-xtreme')), 'content_smartmargin' => array('setting' => array(), 'control' => array('label' => __('Add Side Margin(s)', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Automatically add left/right "smart" margins for separation of areas (sidebar/content). This is normally used only if you have borders or BG colors for your sidebars.', 'weaver-xtreme'), 'type' => 'checkbox')), 'space_after_title_dec' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'postMessage', 'default' => 1.0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Space Between Title and Content (em)', 'weaver-xtreme'), 'description' => __('Space between Page or Post title and beginning of content.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 20.0, 'step' => 0.1))), 'content_p_list_dec' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Space after paragraphs and lists (em)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 20.0, 'step' => 0.1)))));
     /**
      * Post Specific
      */
     $spacing_sections['spacing-post-specific'] = array('panel' => $panel, 'title' => __('Post Specific', 'weaver-xtreme'), 'description' => __('Post Specific spacing - override Content spacing.', 'weaver-xtreme'), 'options' => array('post_padding_T' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'post_padding_B' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bottom Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'post_padding_L' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Left Padding (%)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 30, 'step' => 0.25))), 'post_padding_R' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Right Padding (%)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 30, 'step' => 0.25))), 'post_margin_T' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Margin (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'post_margin_B' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bottom Margin (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'spacing-post-widthinfo' => weaverx_cz_heading(__('Width', 'weaver-xtreme'), __('The width of this area is automatically determined by the enclosing area.', 'weaver-xtreme')), 'post_smartmargin' => array('setting' => array(), 'control' => array('label' => __('Add Side Margin(s)', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Automatically add left/right "smart" margins for separation of areas (sidebar/content). This is normally used only if you have borders or BG colors for your sidebars.', 'weaver-xtreme'), 'type' => 'checkbox')), 'post_title_bottom_margin_dec' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'postMessage', 'default' => 0.2), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Space Between Post Title and Content (em)', 'weaver-xtreme'), 'description' => __('Space between Post title and beginning of content. This will adjust/override the equivalent Content setting.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => -5.0, 'max' => 20.0, 'step' => 0.1)))));
     /**
      * Sidebars
      */
     $spacing_sections['spacing-sidebars'] = array('panel' => $panel, 'title' => __('Sidebars / Widget Areas', 'weaver-xtreme'), 'description' => __('Main Sidebars and Widget areas.', 'weaver-xtreme'), 'options' => array('spacing-sidbars-heading' => weaverx_cz_group_title(__('Sidebar Widths', 'weaver-xtreme'), __('Width of the left and right vertical sidebars in the Container Area. Note that the width of the adjoining Content area is automatically determined by the sidebar layouts and widths.', 'weaver-xtreme')), 'left_sb_width_int' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'refresh', 'default' => 25), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Left Sidebar Width (%)', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 90, 'step' => 0.5))), 'right_sb_width_int' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'refresh', 'default' => 25), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Right Sidebar Width (%)', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 90, 'step' => 0.5))), 'left_split_sb_width_int' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'refresh', 'default' => 25), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Width for Split Sidebar, Left Side', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 100, 'step' => 0.5))), 'right_split_sb_width_int' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'refresh', 'default' => 25), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Width for Split Sidebar, Right Side', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 100, 'step' => 0.5))), 'spacing-primary-widget-heading' => weaverx_cz_group_title(__('Primary Widget Area', 'weaver-xtreme')), 'primary_padding_T' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'primary_padding_B' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bottom Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'primary_padding_L' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Left Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'primary_padding_R' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Right Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'primary_margin_T' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Margin (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'primary_margin_B' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bottom Margin (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'spacing-primary-widthinfo' => weaverx_cz_heading(__('Width', 'weaver-xtreme'), __('The width of this area is automatically determined by the enclosing area.', 'weaver-xtreme')), 'primary_smartmargin' => array('setting' => array(), 'control' => array('label' => __('Add Side Margin(s)', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Automatically add left/right "smart" margins for separation of areas (sidebar/content). This is normally used only if you have borders or BG colors for your sidebars.', 'weaver-xtreme'), 'type' => 'checkbox')), 'spacing-primary-widgets' => weaverx_cz_heading(__('Widget Area Columns', 'weaver-xtreme'), __('<strong>NOTE:</strong> You can set number of columns per widget area on the <em>Layout</em> panel.', 'weaver-xtreme')), 'spacing-secondary-widget-heading' => weaverx_cz_group_title(__('Secondary Widget Area', 'weaver-xtreme')), 'secondary_padding_T' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'secondary_padding_B' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bottom Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'secondary_padding_L' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Left Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'secondary_padding_R' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Right Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'secondary_margin_T' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Margin (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'secondary_margin_B' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bottom Margin (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'spacing-secondary-widthinfo' => weaverx_cz_heading(__('Width', 'weaver-xtreme'), __('The width of this area is automatically determined by the enclosing area.', 'weaver-xtreme')), 'secondary_smartmargin' => array('setting' => array(), 'control' => array('label' => __('Add Side Margin(s)', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Automatically add left/right "smart" margins for separation of areas (sidebar/content). This is normally used only if you have borders or BG colors for your sidebars.', 'weaver-xtreme'), 'type' => 'checkbox')), 'spacing-secondary-widgets' => weaverx_cz_heading(__('Widget Area Columns', 'weaver-xtreme'), __('<strong>NOTE:</strong> You can set number of columns per widget area on the <em>Layout</em> panel.', 'weaver-xtreme')), 'spacing-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_width_int' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'postMessage', 'default' => 100), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Widget Areas Width (%)', 'weaver-xtreme'), 'description' => __('Width of Area in % of enclosing area on desktop and small tablet. Hint: use with Container "Center align" setting.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 10, 'max' => 100, 'step' => 0.5))), 'top_align' => weaverx_cz_select(__('Align Container Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_align', 'float-left', 'postMessage'), 'top_padding_T' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 8), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'top_padding_B' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 8), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bottom Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'top_padding_L' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 8), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Left Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'top_padding_R' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 8), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Right Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'top_margin_T' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 10), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Margin (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'top_margin_B' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 10), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bottom Margin (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'spacing-top-widgets' => weaverx_cz_heading(__('Widget Area Columns', 'weaver-xtreme'), __('<strong>NOTE:</strong> You can set number of columns per widget area on the <em>Layout</em> panel.', 'weaver-xtreme')), 'spacing-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_width_int' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'postMessage', 'default' => 100), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Widget Areas Width (%)', 'weaver-xtreme'), 'description' => __('Width of Area in % of enclosing area on desktop and small tablet. Hint: use with Container "Center align" setting.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 10, 'max' => 100, 'step' => 0.5))), 'bottom_align' => weaverx_cz_select(__('Align Container Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_align', 'float-left', 'postMessage'), 'bottom_padding_T' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 8), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'bottom_padding_B' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 8), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bottom Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'bottom_padding_L' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 8), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Left Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'bottom_padding_R' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 8), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Right Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'bottom_margin_T' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 10), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Margin (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'bottom_margin_B' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 10), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bottom Margin (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'spacing-bottom-widgets' => weaverx_cz_heading(__('Widget Area Columns', 'weaver-xtreme'), __('<strong>NOTE:</strong> You can set number of columns per widget area on the <em>Layout</em> panel.', 'weaver-xtreme'))));
     /**
      * Widgets
      */
     $spacing_sections['spacing-widgets'] = array('panel' => $panel, 'title' => __('Individual Widgets', 'weaver-xtreme'), 'description' => __('Padding and Margins for Individual Widgets. Widget width responsively determined by enclosing area.', 'weaver-xtreme'), 'options' => array('widget_padding_T' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'widget_padding_B' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bottom Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'widget_padding_L' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Left Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'widget_padding_R' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Right Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'widget_margin_T' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Margin (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'widget_margin_B' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bottom Margin (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1)))));
     /**
      * Footer
      */
     $foot_width_transport = weaverx_getopt_checked('footer_extend_width') ? 'refresh' : 'postMessage';
     $foot_refresh = weaverx_getopt_checked('footer_extend_width') ? WEAVERX_REFRESH_ICON : '';
     $spacing_sections['spacing-footer'] = array('panel' => $panel, 'title' => __('Footer Area', 'weaver-xtreme'), 'description' => __('Set spacing for Footer Area. Option groups include <span style="color:blue;">Site Footer Area, Site Title and Tagline, Footer Widget Area</span>, and <span style="color:blue;">Footer HTML Area</span>.', 'weaver-xtreme'), 'options' => array('spacing-heading-footer' => weaverx_cz_group_title(__('Site Footer Area', 'weaver-xtreme'), __('Spacing of the whole Footer Area', 'weaver-xtreme')), 'footer_width_int' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => $foot_width_transport, 'default' => 100), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Footer Area Width (%)', 'weaver-xtreme') . $foot_refresh, 'description' => __('Width of Area in % of enclosing area on desktop and small tablet. Hint: use with Footer "Center align" setting.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 10, 'max' => 100, 'step' => 0.5))), 'footer_max_width_int' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 2000), 'control' => array('control_type' => WEAVERX_PLUS_RANGE_CONTROL, 'label' => __('Footer Area Max Width (px)', 'weaver-xtreme') . WEAVERX_PLUS_ICON, 'description' => __('This advanced option allows you to set a maximum width for this area. This is not commonly used, but can make interesting designs, especially if you center align the area.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 480, 'max' => 4000, 'step' => 5))), 'footer_align' => weaverx_cz_select(__('Align Footer Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_align', 'float-left', $foot_width_transport), 'footer_padding_T' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 8), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Padding (px)', 'weaver-xtreme'), 'description' => __('These options control the padding (inner space) around the area.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'footer_padding_B' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 8), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bottom Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'footer_padding_L' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => $foot_refresh, 'default' => 8), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Left Padding (px)', 'weaver-xtreme') . $foot_refresh, 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'footer_padding_R' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => $foot_width_transport, 'default' => 8), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Right Padding (px)', 'weaver-xtreme') . $foot_refresh, 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'footer_margin_T' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Margin (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'footer_margin_B' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bottom Margin (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'spacing-widgetarea-footer' => weaverx_cz_group_title(__('Footer Widget Area', 'weaver-xtreme'), __('Spacing for the Footer Widget Area', 'weaver-xtreme')), 'footer_sb_width_int' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'postMessage', 'default' => 100), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Footer Widget Area Width (%)', 'weaver-xtreme'), 'description' => __('Width of Area in % of enclosing area on desktop and small tablet. Hint: use with Align Footer Widget Area "Center align" setting.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 10, 'max' => 100, 'step' => 0.5))), 'footer_sb_align' => weaverx_cz_select(__('Align Footer Widget Area Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_align', 'postMessage', 'postMessage'), 'footer_sb_padding_T' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'footer_sb_padding_B' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bottom Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'footer_sb_padding_L' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Left Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'footer_sb_padding_R' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Right Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'footer_sb_margin_T' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Margin (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'footer_sb_margin_B' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bottom Margin (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'spacing-footer-widgets' => weaverx_cz_heading(__('Widget Area Columns', 'weaver-xtreme'), __('<strong>NOTE:</strong> You can set number of columns per widget area on the <em>Layout</em> panel.', 'weaver-xtreme')), 'spacing-htmltarea-footer' => weaverx_cz_group_title(__('Footer HTML Area', 'weaver-xtreme'), __('Spacing for the Footer HTML Area', 'weaver-xtreme')), 'footer_html_width_int' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_float', 'transport' => 'postMessage', 'default' => 100), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Footer HTML Area Width (%)', 'weaver-xtreme'), 'description' => __('Width of Area in % of enclosing area on desktop and small tablet. Hint: use with Align HTML Area "Center align" setting. You will have to "Save & Publish" and refresh this page if you are using Center Area align.', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 10, 'max' => 100, 'step' => 0.5))), 'footer_html_align' => weaverx_cz_select(__('Align Footer HTML Area', 'weaver-xtreme'), '', 'weaverx_cz_choices_align', 'float-left', 'refresh'), 'footer_html_center_content' => array('setting' => array('transport' => 'postMessage'), 'control' => array('label' => __('Center Content within HTML Area', 'weaver-xtreme'), 'type' => 'checkbox')), 'footer_html_padding_T' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'footer_html_padding_B' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bottom Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'footer_html_padding_L' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Left Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'footer_html_padding_R' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Right Padding (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'footer_html_margin_T' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Top Margin (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1))), 'footer_html_margin_B' => array('setting' => array('sanitize_callback' => 'absint', 'transport' => 'postMessage', 'default' => 0), 'control' => array('control_type' => 'WeaverX_Range_Control', 'label' => __('Bottom Margin (px)', 'weaver-xtreme'), 'type' => 'range', 'input_attrs' => array('min' => 0, 'max' => 150, 'step' => 1)))));
     $spacing_sections['spacing-fullwidth'] = array('panel' => $panel, 'title' => __('Full Width Site', 'weaver-xtreme'), 'description' => __('Weaver Xtreme features several options specifically designed to create exciting full width site designs. Although one could logically place these options in other panels, putting most of them all here is easier. The overall site width is still on the <em>Spacing &rarr; Global Spacing<em> panel. <strong>You likely want to change the default site width.</strong> Using the options available here, the strategy is to confine you content to a reasonable width, perhaps 1600 or 1900. Then you can extend attribute to the full screen width without making your content area too wide. You can also get interesting effects by adjusting the widths of each of these sections on the <em>Spacing</em> panel. Just play with these options to see how they all work together! And remember, your site will always automatically adjust to mobile devices.', 'weaver-xtreme'), 'options' => array('general-full-header' => weaverx_cz_group_title(__('Site Header Area', 'weaver-xtreme'), __('The Header Area contains the Menus, the Header Widget Area, the Site Image, and the Header HTML Area.', 'weaver-xtreme')), 'general-full-header-width' => weaverx_cz_heading(__('Header Area Width', 'weaver-xtreme'), __('You might want to adjust the Header Area width and alignment on the <em>Spacing &rarr; Site Header Spacing</em> panel.', 'weaver-xtreme')), 'general-full-line-1' => array('control' => array('control_type' => 'WeaverX_Misc_Control', 'type' => 'line')), 'header_extend_width' => array('setting' => array(), 'control' => array('label' => __('Header Full Width BG Attributes', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Extend all BG Attributes to full screen width. The area content retains it own width in the Theme Width width. Use this option for the Container, Header, and Footer "full width" site layouts. <strong style="background-color:yellow;"><large>IMPORTANT TIP:</large></strong> This option interacts with the area width and padding settings - we suggest that you "Save and Publish", and then <em>Refresh</em> this page in your browser to completely reload the Customizer.', 'weaver-xtreme'), 'type' => 'checkbox')), 'general-full-header-or-' => weaverx_cz_heading(__('** OR **', 'weaver-xtreme')), 'header_extend_bgcolor' => array('setting' => array('sanitize_callback' => WEAVERX_CZ_SANITIZE_COLOR, 'default' => weaverx_cz_getopt('header_extend_bgcolor'), 'transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_COLOR_CONTROL, 'label' => __('Header Full-width BG Color', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Extend this BG color to full theme width on Desktop View. Menu Bars, Container and Footer have same option. Unlike the "Full Screen Width BG Attributes" on the Spacing panel, this option extends just this BG color, and allows different BG colors for the area. You can use only one of the "Attributes" vs. "Color" option.', 'weaver-xtreme'))), 'general-full-line-1a' => array('control' => array('control_type' => 'WeaverX_Misc_Control', 'type' => 'line')), 'm_primary_extend_width' => array('setting' => array(), 'control' => array('label' => __('Primary Menu Full Width', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Extend all Primary Menu Bar BG Attributes to full width. Overrides Full-width BG color.', 'weaver-xtreme'), 'type' => 'checkbox')), 'general-full-header-or-2' => weaverx_cz_heading(__('** OR **', 'weaver-xtreme')), 'm_primary_extend_bgcolor' => array('setting' => array('sanitize_callback' => WEAVERX_CZ_SANITIZE_COLOR, 'default' => weaverx_cz_getopt('m_primary_extend_bgcolor'), 'transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_COLOR_CONTROL, 'label' => __('Primary Menu Full-width BG color', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Extend this BG color to full theme width on Desktop View. Menu Bars, Container and Footer have same option. Unlike the "Full Screen Width BG Attributes" on the Spacing panel, this option extends just this BG color, and allows different BG colors for the area.', 'weaver-xtreme'))), 'general-full-line-3' => array('control' => array('control_type' => 'WeaverX_Misc_Control', 'type' => 'line')), 'm_secondary_extend_width' => array('setting' => array(), 'control' => array('label' => __('Secondary Menu Full Width', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Extend all BG Attributes to full width. Overrides Full-width BG color.', 'weaver-xtreme'), 'type' => 'checkbox')), 'general-full-header-or-2a' => weaverx_cz_heading(__('** OR **', 'weaver-xtreme')), 'm_secondary_extend_bgcolor' => array('setting' => array('sanitize_callback' => WEAVERX_CZ_SANITIZE_COLOR, 'default' => weaverx_cz_getopt('m_secondary_extend_bgcolor'), 'transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_COLOR_CONTROL, 'label' => __('Secondary Menu Full-width BG color', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Extend this BG color to full theme width on Desktop View. Menu Bars, Container and Footer have same option. Unlike the "Full Screen Width BG Attributes" on the Spacing panel, this option extends just this BG color, and allows different BG colors for the area.', 'weaver-xtreme'))), 'general-full-line-4' => array('control' => array('control_type' => 'WeaverX_Misc_Control', 'type' => 'line')), 'general-full-container' => weaverx_cz_group_title(__('Site Container Area', 'weaver-xtreme'), __('The Container Area contains the main content area, plus the primary, secondary, top, and bottom widget areas.', 'weaver-xtreme')), 'general-full-containerx-width' => weaverx_cz_heading(__('Container Area Width', 'weaver-xtreme'), __('You might want to adjust the Container Area width and alignment on the <em>Spacing &rarr; Wrapping Areas</em> panel.', 'weaver-xtreme')), 'container_extend_width' => array('setting' => array(), 'control' => array('label' => __('Container Full Width BG Attributes', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Extend all Container BG Attributes to full screen width. The area content retains it own width in the Theme Width width. Use this option for the Container, Header, and Footer "full width" site layouts.  <strong style="background-color:yellow;"><large>IMPORTANT TIP:</large></strong> This option interacts with the area width and padding settings - we suggest that you "Save and Publish", and then <em>Refresh</em> this page in your browser to completely reload the Customizer.', 'weaver-xtreme'), 'type' => 'checkbox')), 'general-full-header-or-3' => weaverx_cz_heading(__('** OR **', 'weaver-xtreme')), 'container_extend_bgcolor' => array('setting' => array('sanitize_callback' => WEAVERX_CZ_SANITIZE_COLOR, 'default' => weaverx_cz_getopt('container_extend_bgcolor'), 'transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_COLOR_CONTROL, 'label' => __('Container Full-width BG color', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Extend this BG color to full theme width on Desktop View. Menu Bars, Header, Container and Footer have same option. Unlike the "Full Screen Width BG Attributes" on the Spacing panel, this option extends just this BG color, and allows different BG colors for the area.', 'weaver-xtreme'))), 'general-full-line-5' => array('control' => array('control_type' => 'WeaverX_Misc_Control', 'type' => 'line')), 'general-full-footer' => weaverx_cz_group_title(__('Site Footer Area', 'weaver-xtreme'), __('The Footer Area contains the Footer Widget Area, the Footer HTML Area, the copyright line.', 'weaver-xtreme')), 'general-full-footerx-width' => weaverx_cz_heading(__('Footer Area Width', 'weaver-xtreme'), __('You might want to adjust the Footer Area width and alignment on the <em>Spacing &rarr; Footer Area Spacing</em> panel.', 'weaver-xtreme')), 'footer_extend_width' => array('setting' => array(), 'control' => array('label' => __('Footer Full Screen Width', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Extend all Footer BG Attributes to full screen width. The area content retains it own width in the Theme Width width. Use this option for the Container, Header, and Footer "full width" site layouts.  <strong style="background-color:yellow;"><large>IMPORTANT TIP:</large></strong> This option interacts with the area width and padding settings - we suggest that you "Save and Publish", and then <em>Refresh</em> this page in your browser to completely reload the Customizer.', 'weaver-xtreme'), 'type' => 'checkbox')), 'general-full-header-or-4' => weaverx_cz_heading(__('** OR **', 'weaver-xtreme')), 'footer_extend_bgcolor' => array('setting' => array('sanitize_callback' => WEAVERX_CZ_SANITIZE_COLOR, 'default' => weaverx_cz_getopt('footer_extend_bgcolor'), 'transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_COLOR_CONTROL, 'label' => __('Footer Full-width BG color', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('Extend this BG color to full theme width on Desktop View. Menu Bars, Header, Container and Footer have same option. Unlike the "Full Screen Width BG Attributes" on the Spacing panel, this option extends just this BG color, and allows different BG colors for the area.', 'weaver-xtreme')))));
     /**
      * Filter the definitions for the controls in the Color Scheme panel of the Customizer.
      *
      * @since 1.3.0.
      *
      * @param array    $spacing_sections    The array of definitions.
      */
     $spacing_sections = apply_filters('weaverx_customizer_spacing_sections', $spacing_sections);
     // Merge with master array
     return array_merge($sections, $spacing_sections);
 }
 /**
  * Define the sections and settings for the Site Colors panel
  * Customize_Alpha_Color_Control
  * WP_Customize_Color_Control
  */
 function weaverx_customizer_define_colorscheme_sections($sections)
 {
     $panel = 'weaverx_site-colors';
     $colorscheme_sections = array();
     /**
      * General
      */
     $colorscheme_sections['color-wrapping'] = array('panel' => $panel, 'title' => __('Wrapping Areas', 'weaver-xtreme'), 'description' => 'Set colors. Use Typography to set fonts.', 'options' => array('body_bgcolor' => weaverx_cz_coloropt('body_bgcolor', __('Site Background Color - Theme Value', 'weaver-xtreme'), __('Background color that wraps entire page.', 'weaver-xtreme')), 'fadebody_bg' => array('setting' => array(), 'control' => array('label' => __('Fade Outside BG', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Will fade the Outside BG color, darker at top to lighter at bottom.', 'weaver-xtreme'), 'type' => 'checkbox')), 'wrapper_color' => weaverx_cz_coloropt('wrapper_color', __('Wrapper Text Color', 'weaver-xtreme'), __('<strong>Global Text Color</strong> - To override, set colors for individual areas and items.', 'weaver-xtreme')), 'wrapper_bgcolor' => weaverx_cz_coloropt('wrapper_bgcolor', __('Wrapper BG Color', 'weaver-xtreme'), __('<strong>Background Color</strong> - wraps entire content area. To override, set BG colors for individual areas.', 'weaver-xtreme')), 'container_color' => weaverx_cz_coloropt('container_color', __('Container Text Color', 'weaver-xtreme'), __('Container (#container div) wraps content and sidebars.', 'weaver-xtreme')), 'container_bgcolor' => weaverx_cz_coloropt('container_bgcolor', __('Container BG Color', 'weaver-xtreme')), 'flow_color' => array('setting' => array('transport' => 'refresh'), 'control' => array('control_type' => WEAVERX_PLUS_CHECKBOX_CONTROL, 'label' => __('Flow Color to Bottom', 'weaver-xtreme') . WEAVERX_PLUS_ICON . WEAVERX_REFRESH_ICON, 'description' => __('If checked, Content and Sidebar bg colors will flow to bottom of the Container (that is, equal heights). You must provide background colors for the Content and Sidebars or the default bg color will be used.', 'weaver-xtreme'), 'type' => 'checkbox')), 'color-border-heading' => array('control' => array('control_type' => 'WeaverX_Misc_Control', 'type' => 'line')), 'color-border-heading' => weaverx_cz_heading(__('Border Color', 'weaver-xtreme'), __('Border Color option found on <em>Style &rarr; Wrapping Areas</em> panel.', 'weaver-xtreme'))));
     /**
      * Links
      */
     $colorscheme_sections['color-links'] = array('panel' => $panel, 'title' => __('Links', 'weaver-xtreme'), 'description' => 'Set colors for links. Use Typography to set fonts.', 'options' => array('link_color' => weaverx_cz_coloropt('link_color', __('Standard Links', 'weaver-xtreme'), __('Default color for links. To override for links in specific areas, set colors for individual links below.', 'weaver-xtreme'), 'refresh'), 'link_hover_color' => weaverx_cz_coloropt('link_hover_color', __('Standard Link Hover Color', 'weaver-xtreme'), '', 'refresh'), 'color-info-line-1' => array('control' => array('control_type' => 'WeaverX_Misc_Control', 'type' => 'line')), 'ibarlink_color' => weaverx_cz_coloropt('ibarlink_color', __('Info Bar Link Color', 'weaver-xtreme'), '', 'refresh'), 'ibarlink_hover_color' => weaverx_cz_coloropt('ibarlink_hover_color', __('Info Bar Link Hover Color', 'weaver-xtreme'), '', 'refresh'), 'color-info-line-2' => array('control' => array('control_type' => 'WeaverX_Misc_Control', 'type' => 'line')), 'contentlink_color' => weaverx_cz_coloropt('contentlink_color', __('Content Links Color', 'weaver-xtreme'), '', 'refresh'), 'contentlink_hover_color' => weaverx_cz_coloropt('contentlink_hover_color', __('Content Links Hover Color', 'weaver-xtreme'), '', 'refresh'), 'color-info-line-3' => array('control' => array('control_type' => 'WeaverX_Misc_Control', 'type' => 'line')), 'ilink_color' => weaverx_cz_coloropt('ilink_color', __('Post Meta Info Link Color', 'weaver-xtreme'), '', 'refresh'), 'ilink_hover_color' => weaverx_cz_coloropt('ilink_hover_color', __('Post Meta Info Link Hover Color', 'weaver-xtreme'), '', 'refresh'), 'color-info-line-4' => array('control' => array('control_type' => 'WeaverX_Misc_Control', 'type' => 'line')), 'wlink_color' => weaverx_cz_coloropt('wlink_color', __('Individual Widgets Link Color', 'weaver-xtreme'), '', 'refresh'), 'wlink_hover_color' => weaverx_cz_coloropt('wlink_hover_color', __('Individual Widgets Link Hover Color', 'weaver-xtreme'), '', 'refresh'), 'color-info-line-5' => array('control' => array('control_type' => 'WeaverX_Misc_Control', 'type' => 'line')), 'footerlink_color' => weaverx_cz_coloropt('footerlink_color', __('Footer Links Color', 'weaver-xtreme'), '', 'refresh'), 'footerlink_hover_color' => weaverx_cz_coloropt('footerlink_hover_color', __('Footer Links Hover Color', 'weaver-xtreme'), '', 'refresh')));
     /**
      * Site Header
      */
     $colorscheme_sections['color-header'] = array('panel' => $panel, 'title' => __('Header Area', 'weaver-xtreme'), 'options' => array('header_color' => weaverx_cz_coloropt('header_color', __('Header Text Color', 'weaver-xtreme'), ''), 'header_bgcolor' => weaverx_cz_coloropt('header_bgcolor', __('Header BG Color', 'weaver-xtreme'), ''), 'hdrarea-cline1' => weaverx_cz_line(), 'site_title_color' => weaverx_cz_coloropt('site_title_color', __('Site Title Text Color', 'weaver-xtreme'), ''), 'site_title_bgcolor' => weaverx_cz_coloropt('site_title_bgcolor', __('Site Title BG Color', 'weaver-xtreme'), __('Site Title BG Color', 'weaver-xtreme')), 'tagline_color' => weaverx_cz_coloropt('tagline_color', __('Site Tagline Text Color', 'weaver-xtreme'), ''), 'tagline_bgcolor' => weaverx_cz_coloropt('tagline_bgcolor', __('Site Tagline BG Color', 'weaver-xtreme'), ''), 'title_tagline_bgcolor' => weaverx_cz_coloropt('title_tagline_bgcolor', __('Title/Tagline Area BG', 'weaver-xtreme'), __('BG Color for the Title, Tagline, Search, and Mini Menu area.', 'weaver-xtreme')), 'hdrarea-cline2' => weaverx_cz_line(), 'header_sb_color' => weaverx_cz_coloropt('header_sb_color', __('Header Widget Area Text Color', 'weaver-xtreme'), ''), 'header_sb_bgcolor' => weaverx_cz_coloropt('header_sb_bgcolor', __('Header Widget Area BG Color', 'weaver-xtreme'), ''), 'hdrarea-cline3' => weaverx_cz_line(), 'header_html_color' => weaverx_cz_coloropt('header_html_color', __('Header HTML Area Text Color', 'weaver-xtreme')), 'header_html_bgcolor' => weaverx_cz_coloropt('header_html_bgcolor', __('Header HTML Area BG Color', 'weaver-xtreme'))));
     /**
      * Main Menu
      */
     $colorscheme_sections['color-menus'] = array('panel' => $panel, 'title' => __('Menus', 'weaver-xtreme'), 'description' => __('Set text, background, and hover colors for menus.', 'weaver-xtreme'), 'options' => array('color-mm-heading' => weaverx_cz_group_title(__('Primary Menu Colors', 'weaver-xtreme')), 'm_primary_color' => weaverx_cz_coloropt('m_primary_color', __('Primary Menu Bar Text Color', 'weaver-xtreme'), __('Text Color for Entire menu bar.', 'weaver-xtreme')), 'm_primary_bgcolor' => weaverx_cz_coloropt('m_primary_bgcolor', __('Primary Menu Bar BG Color', 'weaver-xtreme'), __('Background Color for Entire menu bar.', 'weaver-xtreme')), 'm_primary_link_bgcolor' => weaverx_cz_coloropt('m_primary_link_bgcolor', __('Item BG Color', 'weaver-xtreme'), __('Background Color for menu bar items.', 'weaver-xtreme')), 'm_primary_dividers_color' => weaverx_cz_coloropt_plus('m_primary_dividers_color', __('Dividers between menu items', 'weaver-xtreme'), __('Add colored dividers between menu items. Leave blank for none.', 'weaver-xtreme'), 'refresh'), 'm_primary_hover_color' => weaverx_cz_coloropt('m_primary_hover_color', __('Primary Menu Bar Hover Text Color', 'weaver-xtreme'), '', 'refresh'), 'm_primary_hover_bgcolor' => weaverx_cz_coloropt('m_primary_hover_bgcolor', __('Primary Menu Bar Hover BG Color', 'weaver-xtreme'), '', 'refresh'), 'm_primary_clickable_bgcolor' => weaverx_cz_coloropt('m_primary_clickable_bgcolor', __('Open Submenu Arrow BG', 'weaver-xtreme'), __('Clickable mobile open submenu arrow BG. Contrasting BG color required for proper user interface. <em>Not used by SmartMenus</em>. (Default: rgba(255,255,255,0.2)', 'weaver-xtreme'), 'refresh'), 'm_primary_html_color' => weaverx_cz_coloropt_plus('m_primary_html_color', __('HTML: Text Color', 'weaver-xtreme'), __('Text Color for Left/Right Menu Bar HTML.', 'weaver-xtreme')), 'm_primary_sub_color' => weaverx_cz_coloropt('m_primary_sub_color', __('Primary Sub-Menu Text Color', 'weaver-xtreme'), ''), 'm_primary_sub_bgcolor' => weaverx_cz_coloropt('m_primary_sub_bgcolor', __('Primary Sub-Menu BG Color', 'weaver-xtreme'), ''), 'm_primary_sub_hover_color' => weaverx_cz_coloropt('m_primary_sub_hover_color', __('Primary Sub-Menu Hover Text Color', 'weaver-xtreme'), '', 'refresh'), 'm_primary_sub_hover_bgcolor' => weaverx_cz_coloropt('m_primary_sub_hover_bgcolor', __('Primary Sub-Menu Hover BG Color', 'weaver-xtreme'), '', 'refresh'), 'color-sm-heading' => weaverx_cz_group_title(__('Secondary Menu Colors', 'weaver-xtreme'), __('You must define a Secondary Menu from the Custom Menus Content menu.', 'weaver-xtreme')), 'm_secondary_color' => weaverx_cz_coloropt('m_secondary_color', __('Secondary Menu Bar Text Color', 'weaver-xtreme'), __('Text Color for Entire menu bar.', 'weaver-xtreme')), 'm_secondary_bgcolor' => weaverx_cz_coloropt('m_secondary_bgcolor', __('Secondary Menu Bar BG Color', 'weaver-xtreme'), __('Background Color for Entire menu bar.', 'weaver-xtreme')), 'm_secondary_link_bgcolor' => weaverx_cz_coloropt('m_secondary_link_bgcolor', __('Item BG Color', 'weaver-xtreme'), __('Background Color for menu bar items.', 'weaver-xtreme')), 'm_secondary_dividers_color' => weaverx_cz_coloropt_plus('m_secondary_dividers_color', __('Dividers between menu items', 'weaver-xtreme'), __('Add colored dividers between menu items. Leave blank for none.', 'weaver-xtreme'), 'refresh'), 'm_secondary_hover_color' => weaverx_cz_coloropt('m_secondary_hover_color', __('Secondary Menu Bar Hover Text Color', 'weaver-xtreme'), '', 'refresh'), 'm_secondary_hover_bgcolor' => weaverx_cz_coloropt('m_secondary_hover_bgcolor', __('Secondary Menu Bar Hover BG Color', 'weaver-xtreme'), '', 'refresh'), 'm_secondary_clickable_bgcolor' => weaverx_cz_coloropt('m_secondary_clickable_bgcolor', __('Open Submenu Arrow BG', 'weaver-xtreme'), __('Clickable mobile open submenu arrow BG. Contrasting BG color required for proper user interface. <em>Not used by SmartMenus</em>. (Default: rgba(255,255,255,0.2)', 'weaver-xtreme'), 'refresh'), 'm_secondary_html_color' => weaverx_cz_coloropt_plus('m_secondary_html_color', __('HTML: Text Color', 'weaver-xtreme'), __('Text Color for Left/Right Menu Bar HTML.', 'weaver-xtreme')), 'm_secondary_sub_color' => weaverx_cz_coloropt('m_secondary_sub_color', __('Secondary Sub-Menu Text Color', 'weaver-xtreme'), ''), 'm_secondary_sub_bgcolor' => weaverx_cz_coloropt('m_secondary_sub_bgcolor', __('Secondary Sub-Menu BG Color', 'weaver-xtreme'), ''), 'm_secondary_sub_hover_color' => weaverx_cz_coloropt('m_secondary_sub_hover_color', __('Secondary Sub-Menu Hover Text Color', 'weaver-xtreme'), '', 'refresh'), 'm_secondary_sub_hover_bgcolor' => weaverx_cz_coloropt('m_secondary_sub_hover_bgcolor', __('Secondary Sub-Menu Hover BG Color', 'weaver-xtreme'), '', 'refresh'), 'color-minim-heading' => weaverx_cz_group_title(__('Header Mini Menu Colors', 'weaver-xtreme'), __('You must define a Header Menu from the Custom Menus Content menu.', 'weaver-xtreme')), 'm_header_mini_color' => weaverx_cz_coloropt('m_header_mini_color', __('Header Mini Menu Text Color', 'weaver-xtreme')), 'm_header_mini_bgcolor' => weaverx_cz_coloropt('m_header_mini_bgcolor', __('Header Mini Menu BG Color', 'weaver-xtreme')), 'm_header_mini_hover_color' => weaverx_cz_coloropt('m_header_mini_hover_color', __('Header Mini Menu Hover Text Color', 'weaver-xtreme'), '', 'refresh'), 'color-allmenus-heading' => weaverx_cz_group_title(__('Colors For All Menus', 'weaver-xtreme'), __('These options specify current page attributes for all menus.', 'weaver-xtreme')), 'menubar_curpage_color' => weaverx_cz_coloropt('menubar_curpage_color', __('Menus Current Page Text Color', 'weaver-xtreme')), 'menubar_curpage_bgcolor' => weaverx_cz_coloropt('menubar_curpage_bgcolor', __('Menus Current Page BG Color', 'weaver-xtreme')), 'm_retain_hover' => array('setting' => array(), 'control' => array('label' => __('Retain Menu Bar Hover BG Color', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Retain the menu bar item hover BG color when sub-menus are opened.', 'weaver-xtreme'), 'type' => 'checkbox'))));
     if (weaverx_cz_is_plus()) {
         $new_opts = array('color-xm-heading' => weaverx_cz_group_title(__('Extra Menu Colors', 'weaver-xtreme') . WEAVERX_PLUS_ICON), 'm_extra_color' => weaverx_cz_coloropt('m_extra_color', __('Extra Menu Bar Text Color', 'weaver-xtreme'), __('Text Color for Entire menu bar.', 'weaver-xtreme')), 'm_extra_bgcolor' => weaverx_cz_coloropt('m_extra_bgcolor', __('Extra Menu Bar BG Color', 'weaver-xtreme'), __('Background Color for Entire menu bar.', 'weaver-xtreme')), 'm_extra_link_bgcolor' => weaverx_cz_coloropt('m_extra_link_bgcolor', __('Item BG Color', 'weaver-xtreme'), __('Background Color for menu bar items.', 'weaver-xtreme')), 'm_extra_dividers_color' => weaverx_cz_coloropt_plus('m_extra_dividers_color', __('Dividers between menu items', 'weaver-xtreme'), __('Add colored dividers between menu items. Leave blank for none.', 'weaver-xtreme'), 'refresh'), 'm_extra_hover_color' => weaverx_cz_coloropt('m_extra_hover_color', __('Extra Menu Bar Hover Text Color', 'weaver-xtreme'), '', 'refresh'), 'm_extra_hover_bgcolor' => weaverx_cz_coloropt('m_extra_hover_bgcolor', __('Extra Menu Bar Hover BG Color', 'weaver-xtreme'), '', 'refresh'), 'm_extra_clickable_bgcolor' => weaverx_cz_coloropt('m_extra_clickable_bgcolor', __('Open Submenu Arrow BG', 'weaver-xtreme'), __('Clickable mobile open submenu arrow BG. Contrasting BG color required for proper user interface. <em>Not used by SmartMenus</em>. (Default: rgba(255,255,255,0.2)', 'weaver-xtreme'), 'refresh'), 'm_extra_html_color' => weaverx_cz_coloropt_plus('m_extra_html_color', __('HTML: Text Color', 'weaver-xtreme'), __('Text Color for Left/Right Menu Bar HTML.', 'weaver-xtreme')), 'm_extra_sub_color' => weaverx_cz_coloropt('m_extra_sub_color', __('Extra Sub-Menu Text Color', 'weaver-xtreme'), ''), 'm_extra_sub_bgcolor' => weaverx_cz_coloropt('m_extra_sub_bgcolor', __('Extra Sub-Menu BG Color', 'weaver-xtreme'), ''), 'm_extra_sub_hover_color' => weaverx_cz_coloropt('m_extra_sub_hover_color', __('Extra Sub-Menu Hover Text Color', 'weaver-xtreme'), '', 'refresh'), 'm_extra_sub_hover_bgcolor' => weaverx_cz_coloropt('m_extra_sub_hover_bgcolor', __('Extra Sub-Menu Hover BG Color', 'weaver-xtreme'), '', 'refresh'));
     } else {
         $new_opts = weaverx_cz_add_plus_message('color_menus', __('Extra Menu', 'weaver-xtreme'), __('Add extra menus with <strong>Weaver Xtreme Plus</strong>.', 'weaver-xtreme'));
     }
     // add stub or extra menu options
     $colorscheme_sections['color-menus']['options'] = array_merge($colorscheme_sections['color-menus']['options'], $new_opts);
     /**
      * Info Bar
      */
     $colorscheme_sections['color-info-bar'] = array('panel' => $panel, 'title' => __('Info Bar', 'weaver-xtreme'), 'description' => __('Info Bar has breadcrumbs and paged navigation displayed under Primary Menu.', 'weaver-xtreme'), 'options' => array('infobar_color' => weaverx_cz_coloropt('infobar_color', __('Info Bar Text Color', 'weaver-xtreme')), 'infobar_bgcolor' => weaverx_cz_coloropt('infobar_bgcolor', __('Info Bar BG Color', 'weaver-xtreme'))));
     /**
      * Content
      */
     $colorscheme_sections['color-content'] = array('panel' => $panel, 'title' => __('Content', 'weaver-xtreme'), 'description' => __('Colors for general page and post content. You can override post specific colors on the <em>Post Specific Colors</em> panel.', 'weaver-xtreme'), 'options' => array('content_color' => weaverx_cz_coloropt('content_color', __('Content Area Text Color', 'weaver-xtreme')), 'content_bgcolor' => weaverx_cz_coloropt('content_bgcolor', __('Content Area BG Color', 'weaver-xtreme')), 'page_title_color' => weaverx_cz_coloropt('page_title_color', __('Page Title Text Color', 'weaver-xtreme'), __('Page titles, including pages, post single pages, and archive-like pages.', 'weaver-xtreme')), 'page_title_bgcolor' => weaverx_cz_coloropt('page_title_bgcolor', __('Page Title BG Color', 'weaver-xtreme')), 'archive_title_color' => weaverx_cz_coloropt('archive_title_color', __('Archive Pages Title Text Color', 'weaver-xtreme'), __('Archive-like page titles: archives, categories, tags, searches.', 'weaver-xtreme')), 'archive_title_bgcolor' => weaverx_cz_coloropt('archive_title_bgcolor', __('Archive Pages Title BG Color', 'weaver-xtreme')), 'content_h_color' => weaverx_cz_coloropt('content_h_color', __('Content Headings Text Color', 'weaver-xtreme'), __('Headings (&lt;h1&gt;-&lt;h6&gt;) in page and post content.', 'weaver-xtreme')), 'content_h_bgcolor' => weaverx_cz_coloropt('content_h_bgcolor', __('Content Headings BG', 'weaver-xtreme'), __('Headings (&lt;h1&gt;-&lt;h6&gt;) in page and post content.', 'weaver-xtreme')), 'content-line1' => weaverx_cz_line(), 'input_color' => weaverx_cz_coloropt('input_color', __('Text Input Areas Color', 'weaver-xtreme')), 'input_bgcolor' => weaverx_cz_coloropt('input_bgcolor', __('Text Input Areas BG Color', 'weaver-xtreme')), 'search_color' => weaverx_cz_coloropt('search_color', __('Search Input Text Color', 'weaver-xtreme')), 'search_bgcolor' => weaverx_cz_coloropt('search_bgcolor', __('Search Input BG Color', 'weaver-xtreme')), 'search_icon' => array('setting' => array('sanitize_callback' => 'weaverx_cz_sanitize_html', 'transport' => 'refresh', 'default' => 'black'), 'control' => array('control_type' => 'WeaverX_Misc_Control', 'label' => __('Search Icon', 'weaver-xtreme') . WEAVERX_REFRESH_ICON, 'description' => __('Search Icon used for Search boxes', 'weaver-xtreme'), 'type' => 'radio-icons', 'choices' => weaverx_cz_choices_search())), 'content-line1a' => array('control' => array('control_type' => 'WeaverX_Misc_Control', 'type' => 'line')), 'hr_color' => weaverx_cz_coloropt('hr_color', __('&lt;HR&gt; color', 'weaver-xtreme'), __('Color of horizontal (&lt;hr&gt;) lines in posts and pages. Use the <em>Custom CSS &rarr; Content</em> panel to customize the style of the &lt;hr&gt;.', 'weaver-xtreme')), 'content-line1b' => array('control' => array('control_type' => 'WeaverX_Misc_Control', 'type' => 'line')), 'comment_headings_color' => weaverx_cz_coloropt('comment_headings_color', __('Color for headings in comment form', 'weaver-xtreme')), 'comment_content_bgcolor' => weaverx_cz_coloropt('comment_content_bgcolor', __('Comment content area BG Color', 'weaver-xtreme')), 'comment_submit_bgcolor' => weaverx_cz_coloropt('comment_submit_bgcolor', __('"Post Comment" submit button BG Color', 'weaver-xtreme')), 'content-line2' => array('control' => array('control_type' => 'WeaverX_Misc_Control', 'type' => 'line')), 'editor_bgcolor' => weaverx_cz_coloropt('editor_bgcolor', __('Page/Post Editor BG', 'weaver-xtreme'), __("Alternative Background Color to use for Page/Post editor if you're using transparent or image backgrounds.", 'weaver-xtreme'), 'refresh')));
     /**
      * Post Specific
      */
     $colorscheme_sections['color-post-specific'] = array('panel' => $panel, 'title' => __('Post Specific', 'weaver-xtreme'), 'description' => __('Post Specific Colors - override Content colors.', 'weaver-xtreme'), 'options' => array('color-post-heading' => weaverx_cz_heading(__('Post Specific', 'weaver-xtreme')), 'post_color' => weaverx_cz_coloropt('post_color', __('Post Area Text Color', 'weaver-xtreme')), 'post_bgcolor' => weaverx_cz_coloropt('post_bgcolor', __('Post Area BG Color', 'weaver-xtreme')), 'stickypost_bgcolor' => weaverx_cz_coloropt('stickypost_bgcolor', __('Sticky Post Area BG Color', 'weaver-xtreme')), 'post_title_color' => weaverx_cz_coloropt('post_title_color', __('Post Title Text Color', 'weaver-xtreme')), 'post_title_bgcolor' => weaverx_cz_coloropt('post_title_bgcolor', __('Post Title BG Color', 'weaver-xtreme')), 'post_title_hover_color' => weaverx_cz_coloropt('post_title_hover_color', __('Post Title Hover Color', 'weaver-xtreme'), __('Color if you want the Post Title to show alternate color for hover.', 'weaver-xtreme'), 'refresh'), 'post_info_top_color' => weaverx_cz_coloropt('post_info_top_color', __('Top Post Meta Info Text Color', 'weaver-xtreme')), 'post_info_top_bgcolor' => weaverx_cz_coloropt('post_info_top_bgcolor', __('Top Post Meta Info BG Color', 'weaver-xtreme')), 'post_info_bottom_color' => weaverx_cz_coloropt('post_info_bottom_color', __('Bottom Post Meta Info Text Color', 'weaver-xtreme')), 'post_info_bottom_bgcolor' => weaverx_cz_coloropt('post_info_bottom_bgcolor', __('Bottom Post Meta Info BG Color', 'weaver-xtreme')), 'post_icons_color' => weaverx_cz_coloropt('post_icons_color', __('Post Font Icons Color', 'weaver-xtreme'), __('Set Font Icon color if Font Icons on Info Lines specified on the <em>Style &rarr; Post Specific</em> panel.', 'weaver-xtreme')), 'post_author_bgcolor' => weaverx_cz_coloropt('post_author_bgcolor', __('Author Info BG Color', 'weaver-xtreme'), __('Background color used for Author Bio.', 'weaver-xtreme'))));
     /**
      * Sidebars
      */
     $colorscheme_sections['color-sidebars'] = array('panel' => $panel, 'title' => __('Sidebars &amp; Widget Area', 'weaver-xtreme'), 'description' => __('Main Sidebars and Widget areas. Header and Footer areas options under Header and Footer panels.', 'weaver-xtreme'), 'options' => array('color-primary-widget-heading' => weaverx_cz_group_title(__('Primary Widget Area', 'weaver-xtreme')), 'primary_color' => array('setting' => array('sanitize_callback' => WEAVERX_CZ_SANITIZE_COLOR, 'transport' => WEAVERX_COLOR_TRANSPORT, 'default' => weaverx_cz_getopt('primary_color')), 'control' => array('control_type' => WEAVERX_COLOR_CONTROL, 'label' => __('Primary Widget Area Text Color', 'weaver-xtreme'), 'description' => '')), 'primary_bgcolor' => array('setting' => array('sanitize_callback' => WEAVERX_CZ_SANITIZE_COLOR, 'transport' => WEAVERX_COLOR_TRANSPORT, 'default' => weaverx_cz_getopt('primary_bgcolor')), 'control' => array('control_type' => WEAVERX_COLOR_CONTROL, 'label' => __('Primary Widget Area BG Color', 'weaver-xtreme'), 'description' => '')), 'color-secondary-widget-heading' => weaverx_cz_group_title(__('Secondary Widget Area', 'weaver-xtreme')), 'secondary_color' => array('setting' => array('sanitize_callback' => WEAVERX_CZ_SANITIZE_COLOR, 'transport' => WEAVERX_COLOR_TRANSPORT, 'default' => weaverx_cz_getopt('secondary_color')), 'control' => array('control_type' => WEAVERX_COLOR_CONTROL, 'label' => __('Secondary Widget Area Text Color', 'weaver-xtreme'), 'description' => '')), 'secondary_bgcolor' => array('setting' => array('sanitize_callback' => WEAVERX_CZ_SANITIZE_COLOR, 'transport' => WEAVERX_COLOR_TRANSPORT, 'default' => weaverx_cz_getopt('secondary_bgcolor')), 'control' => array('control_type' => WEAVERX_COLOR_CONTROL, 'label' => __('Secondary Widget Area BG Color', 'weaver-xtreme'), 'description' => '')), 'color-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_color' => array('setting' => array('sanitize_callback' => WEAVERX_CZ_SANITIZE_COLOR, 'transport' => WEAVERX_COLOR_TRANSPORT, 'default' => weaverx_cz_getopt('top_color')), 'control' => array('control_type' => WEAVERX_COLOR_CONTROL, 'label' => __('Top Widget Areas Text Color', 'weaver-xtreme'), 'description' => '')), 'top_bgcolor' => array('setting' => array('sanitize_callback' => WEAVERX_CZ_SANITIZE_COLOR, 'transport' => WEAVERX_COLOR_TRANSPORT, 'default' => weaverx_cz_getopt('top_bgcolor')), 'control' => array('control_type' => WEAVERX_COLOR_CONTROL, 'label' => __('Top Widget Areas BG Color', 'weaver-xtreme'), 'description' => '')), 'color-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_color' => array('setting' => array('sanitize_callback' => WEAVERX_CZ_SANITIZE_COLOR, 'transport' => WEAVERX_COLOR_TRANSPORT, 'default' => weaverx_cz_getopt('bottom_color')), 'control' => array('control_type' => WEAVERX_COLOR_CONTROL, 'label' => __('Bottom Widget Areas Text Color', 'weaver-xtreme'), 'description' => '')), 'bottom_bgcolor' => array('setting' => array('sanitize_callback' => WEAVERX_CZ_SANITIZE_COLOR, 'transport' => WEAVERX_COLOR_TRANSPORT, 'default' => weaverx_cz_getopt('bottom_bgcolor')), 'control' => array('control_type' => WEAVERX_COLOR_CONTROL, 'label' => __('Bottom Widget Areas BG Color', 'weaver-xtreme'), 'description' => ''))));
     /**
      * Widgets
      */
     $colorscheme_sections['color-widgets'] = array('panel' => $panel, 'title' => __('Individual Widgets', 'weaver-xtreme'), 'description' => 'Properties for individual widgets (e.g., Text, Recent Posts, etc.)', 'options' => array('widget_color' => array('setting' => array('sanitize_callback' => WEAVERX_CZ_SANITIZE_COLOR, 'transport' => WEAVERX_COLOR_TRANSPORT, 'default' => weaverx_cz_getopt('widget_color')), 'control' => array('control_type' => WEAVERX_COLOR_CONTROL, 'label' => __('Individual Widgets Text Color', 'weaver-xtreme'), 'description' => '')), 'widget_bgcolor' => array('setting' => array('sanitize_callback' => WEAVERX_CZ_SANITIZE_COLOR, 'transport' => WEAVERX_COLOR_TRANSPORT, 'default' => weaverx_cz_getopt('widget_bgcolor')), 'control' => array('control_type' => WEAVERX_COLOR_CONTROL, 'label' => __('Individual Widgets BG Color', 'weaver-xtreme'), 'description' => '')), 'widget_title_color' => array('setting' => array('sanitize_callback' => WEAVERX_CZ_SANITIZE_COLOR, 'transport' => WEAVERX_COLOR_TRANSPORT, 'default' => weaverx_cz_getopt('widget_title_color')), 'control' => array('control_type' => WEAVERX_COLOR_CONTROL, 'label' => __('Individual Widgets Title Text Color', 'weaver-xtreme'), 'description' => '')), 'widget_title_bgcolor' => array('setting' => array('sanitize_callback' => WEAVERX_CZ_SANITIZE_COLOR, 'transport' => WEAVERX_COLOR_TRANSPORT, 'default' => weaverx_cz_getopt('widget_title_bgcolor')), 'control' => array('control_type' => WEAVERX_COLOR_CONTROL, 'label' => __('Individual Widgets Title BG Color', 'weaver-xtreme'), 'description' => ''))));
     /**
      * Footer
      */
     $colorscheme_sections['color-footer'] = array('panel' => $panel, 'title' => __('Footer Area', 'weaver-xtreme'), 'options' => array('footer_color' => array('setting' => array('sanitize_callback' => WEAVERX_CZ_SANITIZE_COLOR, 'transport' => WEAVERX_COLOR_TRANSPORT, 'default' => weaverx_cz_getopt('footer_color')), 'control' => array('control_type' => WEAVERX_COLOR_CONTROL, 'label' => __('Footer Area Text Color', 'weaver-xtreme'), 'description' => '')), 'footer_bgcolor' => array('setting' => array('sanitize_callback' => WEAVERX_CZ_SANITIZE_COLOR, 'transport' => WEAVERX_COLOR_TRANSPORT, 'default' => weaverx_cz_getopt('footer_bgcolor')), 'control' => array('control_type' => WEAVERX_COLOR_CONTROL, 'label' => __('Footer Area BG Color', 'weaver-xtreme'), 'description' => '')), 'footer_sb_color' => array('setting' => array('sanitize_callback' => WEAVERX_CZ_SANITIZE_COLOR, 'transport' => WEAVERX_COLOR_TRANSPORT, 'default' => weaverx_cz_getopt('footer_sb_color')), 'control' => array('control_type' => WEAVERX_COLOR_CONTROL, 'label' => __('Footer Widget Area Text Color', 'weaver-xtreme'), 'description' => '')), 'footer_sb_bgcolor' => array('setting' => array('sanitize_callback' => WEAVERX_CZ_SANITIZE_COLOR, 'transport' => WEAVERX_COLOR_TRANSPORT, 'default' => weaverx_cz_getopt('footer_sb_bgcolor')), 'control' => array('control_type' => WEAVERX_COLOR_CONTROL, 'label' => __('Footer Widget Area BG Color', 'weaver-xtreme'), 'description' => '')), 'footer_html_color' => array('setting' => array('sanitize_callback' => WEAVERX_CZ_SANITIZE_COLOR, 'transport' => WEAVERX_COLOR_TRANSPORT, 'default' => weaverx_cz_getopt('footer_html_color')), 'control' => array('control_type' => WEAVERX_COLOR_CONTROL, 'label' => __('Footer HTML Area Text Color', 'weaver-xtreme'), 'description' => '')), 'footer_html_bgcolor' => array('setting' => array('sanitize_callback' => WEAVERX_CZ_SANITIZE_COLOR, 'transport' => WEAVERX_COLOR_TRANSPORT, 'default' => weaverx_cz_getopt('footer_html_bgcolor')), 'control' => array('control_type' => WEAVERX_COLOR_CONTROL, 'label' => __('Footer HTML Area BG Color', 'weaver-xtreme'), 'description' => ''))));
     /**
      * Filter the definitions for the controls in the Color Scheme panel of the Customizer.
      *
      * @since 1.3.0.
      *
      * @param array    $colorscheme_sections    The array of definitions.
      */
     $colorscheme_sections = apply_filters('weaverx_customizer_colorscheme_sections', $colorscheme_sections);
     // Merge with master array
     return array_merge($sections, $colorscheme_sections);
 }