Current File : /home/itiffy/itiffyproject.com/aspen/wp-content/themes/vw-painter/inc/customizer.php
<?php
/**
 * VW Painter Theme Customizer
 *
 * @package VW Painter
 */

/**
 * Add postMessage support for site title and description for the Theme Customizer.
 *
 * @param WP_Customize_Manager $wp_customize Theme Customizer object.
 */
function vw_painter_custom_controls() {

    load_template( trailingslashit( get_template_directory() ) . '/inc/custom-controls.php' );
}
add_action( 'customize_register', 'vw_painter_custom_controls' );

function vw_painter_customize_register( $wp_customize ) {

	load_template( trailingslashit( get_template_directory() ) . '/inc/icon-picker.php' );

	$wp_customize->get_setting( 'blogname' )->transport = 'postMessage'; 
	$wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage';

	//Selective Refresh
	$wp_customize->selective_refresh->add_partial( 'blogname', array( 
		'selector' => '.logo .site-title a', 
	 	'render_callback' => 'vw_painter_customize_partial_blogname', 
	)); 

	$wp_customize->selective_refresh->add_partial( 'blogdescription', array( 
		'selector' => 'p.site-description', 
		'render_callback' => 'vw_painter_customize_partial_blogdescription', 
	));

	//add home page setting pannel
	$VWPainterParentPanel = new VW_Painter_WP_Customize_Panel( $wp_customize, 'vw_painter_panel_id', array(
		'capability' => 'edit_theme_options',
		'theme_supports' => '',
		'title' => esc_html__( 'VW Settings', 'vw-painter' ),
		'priority' => 10,
	));

	$wp_customize->add_panel( $VWPainterParentPanel );

	$HomePageParentPanel = new VW_Painter_WP_Customize_Panel( $wp_customize, 'vw_painter_homepage_panel', array(
		'title' => __( 'Homepage Settings', 'vw-painter' ),
		'panel' => 'vw_painter_panel_id',
	));

	$wp_customize->add_panel( $HomePageParentPanel );

	//Topbar
	$wp_customize->add_section( 'vw_painter_topbar', array(
    	'title'      => __( 'Topbar Settings', 'vw-painter' ),
		'priority'   => null,
		'panel' => 'vw_painter_homepage_panel'
	) );

	$wp_customize->add_setting( 'vw_painter_topbar_hide_show',
       array(
      'default' => 0,
      'transport' => 'refresh',
      'sanitize_callback' => 'vw_painter_switch_sanitization'
    ));  
    $wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_topbar_hide_show',
       array(
      'label' => esc_html__( 'Show / Hide Topbar','vw-painter' ),
      'section' => 'vw_painter_topbar'
    )));

    $wp_customize->add_setting('vw_painter_topbar_padding_top_bottom',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_topbar_padding_top_bottom',array(
		'label'	=> __('Topbar Padding Top Bottom','vw-painter'),
		'description'	=> __('Enter a value in pixels. Example:20px','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( '10px', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_topbar',
		'type'=> 'text'
	));

    //Sticky Header
	$wp_customize->add_setting( 'vw_painter_sticky_header',array(
        'default' => 0,
        'transport' => 'refresh',
        'sanitize_callback' => 'vw_painter_switch_sanitization'
    ) );
    $wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_sticky_header',array(
        'label' => esc_html__( 'Sticky Header','vw-painter' ),
        'section' => 'vw_painter_topbar'
    )));

    $wp_customize->add_setting('vw_painter_sticky_header_padding',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_sticky_header_padding',array(
		'label'	=> __('Sticky Header Padding','vw-painter'),
		'description'	=> __('Enter a value in pixels. Example:20px','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( '10px', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_topbar',
		'type'=> 'text'
	));

	$wp_customize->add_setting( 'vw_painter_search_hide_show',
       array(
      'default' => 1,
      'transport' => 'refresh',
      'sanitize_callback' => 'vw_painter_switch_sanitization'
    ));  
    $wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_search_hide_show',
       array(
      'label' => esc_html__( 'Show / Hide Search','vw-painter' ),
      'section' => 'vw_painter_topbar'
    )));

    $wp_customize->add_setting('vw_painter_search_icon',array(
		'default'	=> 'fas fa-search',
		'sanitize_callback'	=> 'sanitize_text_field'
	));	
	$wp_customize->add_control(new VW_Painter_Fontawesome_Icon_Chooser(
        $wp_customize,'vw_painter_search_icon',array(
		'label'	=> __('Add Search Icon','vw-painter'),
		'transport' => 'refresh',
		'section'	=> 'vw_painter_topbar',
		'setting'	=> 'vw_painter_search_icon',
		'type'		=> 'icon'
	)));

	$wp_customize->add_setting('vw_painter_search_close_icon',array(
		'default'	=> 'fa fa-window-close',
		'sanitize_callback'	=> 'sanitize_text_field'
	));	
	$wp_customize->add_control(new VW_Painter_Fontawesome_Icon_Chooser(
        $wp_customize,'vw_painter_search_close_icon',array(
		'label'	=> __('Add Search Close Icon','vw-painter'),
		'transport' => 'refresh',
		'section'	=> 'vw_painter_topbar',
		'setting'	=> 'vw_painter_search_close_icon',
		'type'		=> 'icon'
	)));

    $wp_customize->add_setting('vw_painter_search_font_size',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_search_font_size',array(
		'label'	=> __('Search Font Size','vw-painter'),
		'description'	=> __('Enter a value in pixels. Example:20px','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( '10px', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_topbar',
		'type'=> 'text'
	));

	$wp_customize->add_setting('vw_painter_search_padding_top_bottom',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_search_padding_top_bottom',array(
		'label'	=> __('Search Padding Top Bottom','vw-painter'),
		'description'	=> __('Enter a value in pixels. Example:20px','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( '10px', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_topbar',
		'type'=> 'text'
	));

	$wp_customize->add_setting('vw_painter_search_padding_left_right',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_search_padding_left_right',array(
		'label'	=> __('Search Padding Left Right','vw-painter'),
		'description'	=> __('Enter a value in pixels. Example:20px','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( '10px', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_topbar',
		'type'=> 'text'
	));

	$wp_customize->add_setting( 'vw_painter_search_border_radius', array(
		'default'              => "",
		'transport' 		   => 'refresh',
		'sanitize_callback'    => 'vw_painter_sanitize_number_range'
	) );
	$wp_customize->add_control( 'vw_painter_search_border_radius', array(
		'label'       => esc_html__( 'Search Border Radius','vw-painter' ),
		'section'     => 'vw_painter_topbar',
		'type'        => 'range',
		'input_attrs' => array(
			'step'             => 1,
			'min'              => 1,
			'max'              => 50,
		),
	) );

	$wp_customize->add_setting('vw_painter_search_placeholder',array(
       'default' => esc_html__('Search','vw-painter'),
       'sanitize_callback'	=> 'sanitize_text_field'
    ));
    $wp_customize->add_control('vw_painter_search_placeholder',array(
       'type' => 'text',
       'label' => __('Search Placeholder Text','vw-painter'),
       'section' => 'vw_painter_topbar'
    ));

	//Selective Refresh
	$wp_customize->selective_refresh->add_partial('vw_painter_location', array( 
		'selector' => '.contact_details span', 
		'render_callback' => 'vw_painter_customize_partial_vw_painter_location', 
	));

    $wp_customize->add_setting('vw_painter_location_icon',array(
		'default'	=> 'fas fa-location-arrow',
		'sanitize_callback'	=> 'sanitize_text_field'
	));	
	$wp_customize->add_control(new VW_Painter_Fontawesome_Icon_Chooser(
        $wp_customize,'vw_painter_location_icon',array(
		'label'	=> __('Add Location Icon','vw-painter'),
		'transport' => 'refresh',
		'section'	=> 'vw_painter_topbar',
		'setting'	=> 'vw_painter_location_icon',
		'type'		=> 'icon'
	)));

	$wp_customize->add_setting('vw_painter_location',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));	
	$wp_customize->add_control('vw_painter_location',array(
		'label'	=> __('Add Location','vw-painter'),
		'section'=> 'vw_painter_topbar',
		'type'=> 'text'
	));

	$wp_customize->add_setting('vw_painter_email_icon',array(
		'default'	=> 'fas fa-envelope-open',
		'sanitize_callback'	=> 'sanitize_text_field'
	));	
	$wp_customize->add_control(new VW_Painter_Fontawesome_Icon_Chooser(
        $wp_customize,'vw_painter_email_icon',array(
		'label'	=> __('Add Email Icon','vw-painter'),
		'transport' => 'refresh',
		'section'	=> 'vw_painter_topbar',
		'setting'	=> 'vw_painter_email_icon',
		'type'		=> 'icon'
	)));

	$wp_customize->add_setting('vw_painter_email_address',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_email'
	));	
	$wp_customize->add_control('vw_painter_email_address',array(
		'label'	=> __('Add Email Address','vw-painter'),
		'section'=> 'vw_painter_topbar',
		'type'=> 'text'
	));

	$wp_customize->add_setting('vw_painter_button_text',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));	
	$wp_customize->add_control('vw_painter_button_text',array(
		'label'	=> __('Add Button Text','vw-painter'),
		'section'=> 'vw_painter_topbar',
		'type'=> 'text'
	));

	$wp_customize->add_setting('vw_painter_button_url',array(
		'default'=> '',
		'sanitize_callback'	=> 'esc_url_raw'
	));	
	$wp_customize->add_control('vw_painter_button_url',array(
		'label'	=> __('Add Button Link','vw-painter'),
		'section'=> 'vw_painter_topbar',
		'type'=> 'url'
	));

	//Menus Settings
	$wp_customize->add_section( 'vw_painter_menu_section' , array(
    	'title' => __( 'Menus Settings', 'vw-painter' ),
		'panel' => 'vw_painter_homepage_panel'
	) );

	$wp_customize->add_setting('vw_painter_navigation_menu_font_size',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_navigation_menu_font_size',array(
		'label'	=> __('Menus Font Size','vw-painter'),
		'description'	=> __('Enter a value in pixels. Example:20px','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( '10px', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_menu_section',
		'type'=> 'text'
	));

	$wp_customize->add_setting('vw_painter_navigation_menu_font_weight',array(
        'default' => 'Default',
        'transport' => 'refresh',
        'sanitize_callback' => 'vw_painter_sanitize_choices'
	));
	$wp_customize->add_control('vw_painter_navigation_menu_font_weight',array(
        'type' => 'select',
        'label' => __('Menus Font Weight','vw-painter'),
        'section' => 'vw_painter_menu_section',
        'choices' => array(
        	'Default' => __('Default','vw-painter'),
            'Normal' => __('Normal','vw-painter')
        ),
	) );

	$wp_customize->add_setting('vw_painter_menus_item_style',array(
	    'default' => '',
	    'transport' => 'refresh',
	    'sanitize_callback' => 'vw_painter_sanitize_choices'
	));
	$wp_customize->add_control('vw_painter_menus_item_style',array(
		'type' => 'select',
		'section' => 'vw_painter_menu_section',
		'label' => __('Menu Item Hover Style','vw-painter'),
		'choices' => array(
		    'None' => __('None','vw-painter'),
        'Zoom In' => __('Zoom In','vw-painter'),
        ),
	) );

	$wp_customize->add_setting('vw_painter_header_menus_color', array(
		'default'           => '',
		'sanitize_callback' => 'sanitize_hex_color',
	));
	$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'vw_painter_header_menus_color', array(
		'label'    => __('Menus Color', 'vw-painter'),
		'section'  => 'vw_painter_menu_section',
	)));

	$wp_customize->add_setting('vw_painter_header_menus_hover_color', array(
		'default'           => '',
		'sanitize_callback' => 'sanitize_hex_color',
	));
	$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'vw_painter_header_menus_hover_color', array(
		'label'    => __('Menus Hover Color', 'vw-painter'),
		'section'  => 'vw_painter_menu_section',
	)));

	$wp_customize->add_setting('vw_painter_header_submenus_color', array(
		'default'           => '',
		'sanitize_callback' => 'sanitize_hex_color',
	));
	$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'vw_painter_header_submenus_color', array(
		'label'    => __('Sub Menus Color', 'vw-painter'),
		'section'  => 'vw_painter_menu_section',
	)));

	$wp_customize->add_setting('vw_painter_header_submenus_hover_color', array(
		'default'           => '',
		'sanitize_callback' => 'sanitize_hex_color',
	));
	$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'vw_painter_header_submenus_hover_color', array(
		'label'    => __('Sub Menus Hover Color', 'vw-painter'),
		'section'  => 'vw_painter_menu_section',
	)));

	//Social links
	$wp_customize->add_section(
		'vw_painter_social_links', array(
			'title'		=>	__('Social Links', 'vw-painter'),
			'priority'	=>	null,
			'panel'		=>	'vw_painter_homepage_panel'
		)
	);

	$wp_customize->add_setting('vw_painter_social_icons',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_social_icons',array(
		'label' =>  __('Steps to setup social icons','vw-painter'),
		'description' => __('<p>1. Go to Dashboard >> Appearance >> Widgets</p>
			<p>2. Add Vw Social Icon Widget in Social Widget area.</p>
			<p>3. Add social icons url and save.</p>','vw-painter'),
		'section'=> 'vw_painter_social_links',
		'type'=> 'hidden'
	));
	$wp_customize->add_setting('vw_painter_social_icon_btn',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_social_icon_btn',array(
		'description' => "<a target='_blank' href='". admin_url('widgets.php') ." '>Setup Social Icons</a>",
		'section'=> 'vw_painter_social_links',
		'type'=> 'hidden'
	));
    
	//Slider
	$wp_customize->add_section( 'vw_painter_slidersettings' , array(
    	'title'      => __( 'Slider Settings', 'vw-painter' ),
    	'description' => __('Free theme has 3 slides options, For unlimited slides and more options </br> <a class="go-pro-btn" target="blank" href="https://www.vwthemes.com/themes/painter-wordpress-theme/">GO PRO</a>','vw-painter'),
		'priority'   => null,
		'panel' => 'vw_painter_homepage_panel'
	) );

	$wp_customize->add_setting( 'vw_painter_slider_hide_show',
       array(
      'default' => 0,
      'transport' => 'refresh',
      'sanitize_callback' => 'vw_painter_switch_sanitization'
    ));  
    $wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_slider_hide_show',
       array(
      'label' => esc_html__( 'Show / Hide Slider','vw-painter' ),
      'section' => 'vw_painter_slidersettings'
    )));
        $wp_customize->add_setting('vw_painter_slider_type',array(
        'default' => 'Default slider',
        'sanitize_callback' => 'vw_painter_sanitize_choices'
	) );
	$wp_customize->add_control('vw_painter_slider_type', array(
        'type' => 'select',
        'label' => __('Slider Type','vw-painter'),
        'section' => 'vw_painter_slidersettings',
        'choices' => array(
            'Default slider' => __('Default slider','vw-painter'),
            'Advance slider' => __('Advance slider','vw-painter'),
        ),
	));

	$wp_customize->add_setting('vw_painter_advance_slider_shortcode',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_advance_slider_shortcode',array(
		'label'	=> __('Add Slider Shortcode','vw-painter'),
		'section'=> 'vw_painter_slidersettings',
		'type'=> 'text',
		'active_callback' => 'vw_painter_advance_slider'
	));

    //Selective Refresh
    $wp_customize->selective_refresh->add_partial('vw_painter_slider_hide_show',array(
		'selector'        => '#slider .inner_carousel h1',
		'render_callback' => 'vw_painter_customize_partial_vw_painter_slider_hide_show',
	));

	for ( $count = 1; $count <= 3; $count++ ) {
		// Add color scheme setting and control.
		$wp_customize->add_setting( 'vw_painter_slider_page' . $count, array(
			'default'           => '',
			'sanitize_callback' => 'vw_painter_sanitize_dropdown_pages'
		) );
		$wp_customize->add_control( 'vw_painter_slider_page' . $count, array(
			'label'    => __( 'Select Slide Image Page', 'vw-painter' ),
			'description' => __('Slider image size (1500 x 590)','vw-painter'),
			'section'  => 'vw_painter_slidersettings',
			'type'     => 'dropdown-pages',
			'active_callback' => 'vw_painter_default_slider'
		) );
	}

	$wp_customize->add_setting('vw_painter_slider_button_text',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_slider_button_text',array(
		'label'	=> __('Add Slider Button Text','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( 'GET A QUOTE NOW', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_slidersettings',
		'type'=> 'text',
		'active_callback' => 'vw_painter_default_slider'
	));

	//content layout
	$wp_customize->add_setting('vw_painter_slider_content_option',array(
        'default' => 'Right',
        'sanitize_callback' => 'vw_painter_sanitize_choices'
	));
	$wp_customize->add_control(new VW_Painter_Image_Radio_Control($wp_customize, 'vw_painter_slider_content_option', array(
        'type' => 'select',
        'label' => __('Slider Content Layouts','vw-painter'),
        'section' => 'vw_painter_slidersettings',
        'choices' => array(
            'Left' => esc_url(get_template_directory_uri()).'/images/slider-content1.png',
            'Center' => esc_url(get_template_directory_uri()).'/images/slider-content2.png',
            'Right' => esc_url(get_template_directory_uri()).'/images/slider-content3.png',
    ),'active_callback' => 'vw_painter_default_slider'
    )));

     //Slider content padding
    $wp_customize->add_setting('vw_painter_slider_content_padding_top_bottom',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_slider_content_padding_top_bottom',array(
		'label'	=> __('Slider Content Padding Top Bottom','vw-painter'),
		'description'	=> __('Enter a value in %. Example:20%','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( '50%', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_slidersettings',
		'type'=> 'text',
		'active_callback' => 'vw_painter_default_slider'
	));

	$wp_customize->add_setting('vw_painter_slider_content_padding_left_right',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_slider_content_padding_left_right',array(
		'label'	=> __('Slider Content Padding Left Right','vw-painter'),
		'description'	=> __('Enter a value in %. Example:20%','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( '50%', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_slidersettings',
		'type'=> 'text',
		'active_callback' => 'vw_painter_default_slider'
	));

    //Slider excerpt
	$wp_customize->add_setting( 'vw_painter_slider_excerpt_number', array(
		'default'              => 30,
		'transport' 		   => 'refresh',
		'sanitize_callback'    => 'vw_painter_sanitize_number_range'
	) );
	$wp_customize->add_control( 'vw_painter_slider_excerpt_number', array(
		'label'       => esc_html__( 'Slider Excerpt length','vw-painter' ),
		'section'     => 'vw_painter_slidersettings',
		'type'        => 'range',
		'settings'    => 'vw_painter_slider_excerpt_number',
		'input_attrs' => array(
			'step'             => 2,
			'min'              => 0,
			'max'              => 50,
		),'active_callback' => 'vw_painter_default_slider'
	) );

	//Slider height
	$wp_customize->add_setting('vw_painter_slider_height',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_slider_height',array(
		'label'	=> __('Slider Height','vw-painter'),
		'description'	=> __('Specify the slider height (px).','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( '500px', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_slidersettings',
		'type'=> 'text',
		'active_callback' => 'vw_painter_default_slider'
	));

	$wp_customize->add_setting( 'vw_painter_slider_speed', array(
		'default'  => 4000,
		'sanitize_callback'	=> 'vw_painter_sanitize_float'
	) );
	$wp_customize->add_control( 'vw_painter_slider_speed', array(
		'label' => esc_html__('Slider Transition Speed','vw-painter'),
		'section' => 'vw_painter_slidersettings',
		'type'  => 'number',
		'active_callback' => 'vw_painter_default_slider'
	) );

	//Opacity
	$wp_customize->add_setting('vw_painter_slider_opacity_color',array(
      'default'              => 0.7,
      'sanitize_callback' => 'vw_painter_sanitize_choices'
	));

	$wp_customize->add_control( 'vw_painter_slider_opacity_color', array(
	'label'       => esc_html__( 'Slider Image Opacity','vw-painter' ),
	'section'     => 'vw_painter_slidersettings',
	'type'        => 'select',
	'settings'    => 'vw_painter_slider_opacity_color',
	'choices' => array(
      '0' =>  esc_attr('0','vw-painter'),
      '0.1' =>  esc_attr('0.1','vw-painter'),
      '0.2' =>  esc_attr('0.2','vw-painter'),
      '0.3' =>  esc_attr('0.3','vw-painter'),
      '0.4' =>  esc_attr('0.4','vw-painter'),
      '0.5' =>  esc_attr('0.5','vw-painter'),
      '0.6' =>  esc_attr('0.6','vw-painter'),
      '0.7' =>  esc_attr('0.7','vw-painter'),
      '0.8' =>  esc_attr('0.8','vw-painter'),
      '0.9' =>  esc_attr('0.9','vw-painter')
	),'active_callback' => 'vw_painter_default_slider'
	));

	$wp_customize->add_setting( 'vw_painter_slider_image_overlay',array(
    	'default' => 1,
      	'transport' => 'refresh',
      	'sanitize_callback' => 'vw_painter_switch_sanitization'
    ));
    $wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_slider_image_overlay',array(
      	'label' => esc_html__( 'Slider Image Overlay','vw-painter' ),
      	'section' => 'vw_painter_slidersettings',
      	'active_callback' => 'vw_painter_default_slider'
    )));

    $wp_customize->add_setting('vw_painter_slider_image_overlay_color', array(
		'default'           => '#000',
		'sanitize_callback' => 'sanitize_hex_color',
	));
	$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'vw_painter_slider_image_overlay_color', array(
		'label'    => __('Slider Image Overlay Color', 'vw-painter'),
		'section'  => 'vw_painter_slidersettings',
		'active_callback' => 'vw_painter_default_slider'
	)));

	//About Section
	$wp_customize->add_section('vw_painter_about', array(
		'title'       => __('About Section', 'vw-painter'),
		'description' => __('<p class="premium-opt">Premium Theme Features</p>','vw-painter'),
		'priority'    => null,
		'panel'       => 'vw_painter_homepage_panel',
	));

	$wp_customize->add_setting('vw_painter_about_text',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_about_text',array(
		'description' => __('<p>1. More options for about section.</p>
			<p>2. Unlimited images options.</p>
			<p>3. Color options for about section.</p>','vw-painter'),
		'section'=> 'vw_painter_about',
		'type'=> 'hidden'
	));

	$wp_customize->add_setting('vw_painter_about_btn',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_about_btn',array(
		'description' => "<a class='go-pro' target='_blank' href='". admin_url('themes.php?page=vw_painter_guide') ." '>More Info</a>",
		'section'=> 'vw_painter_about',
		'type'=> 'hidden'
	));

	//Services
	$wp_customize->add_section( 'vw_painter_service_section' , array(
    	'title'      => __( 'Our Services', 'vw-painter' ),
    	'description' => __('For more options of service section </br> <a class="go-pro-btn" target="blank" href="https://www.vwthemes.com/themes/painter-wordpress-theme/">GO PRO</a>','vw-painter'),
		'priority'   => null,
		'panel' => 'vw_painter_homepage_panel'
	) );

	//Selective Refresh
	$wp_customize->selective_refresh->add_partial( 'vw_painter_service_title', array( 
		'selector' => '#our_services h2', 
		'render_callback' => 'vw_painter_customize_partial_vw_painter_service_title',
	));

	$wp_customize->add_setting( 'vw_painter_service_title', array(
		'default'           => '',
		'sanitize_callback' => 'sanitize_text_field'
	) );
	$wp_customize->add_control( 'vw_painter_service_title', array(
		'label'    => __( 'Section Title', 'vw-painter' ),		
		'section'  => 'vw_painter_service_section',
		'type'     => 'text'
	) );

	$wp_customize->add_setting( 'vw_painter_service_text', array(
		'default'           => '',
		'sanitize_callback' => 'sanitize_text_field'
	) );
	$wp_customize->add_control( 'vw_painter_service_text', array(
		'label'    => __( 'Section Text', 'vw-painter' ),
		'section'  => 'vw_painter_service_section',
		'type'     => 'text'
	) );

	$categories = get_categories();
	$cat_post = array();
	$cat_post[]= 'select';
	$i = 0;	
	foreach($categories as $category){
		if($i==0){
			$default = $category->slug;
			$i++;
		}
		$cat_post[$category->slug] = $category->name;
	}

	$wp_customize->add_setting('vw_painter_services',array(
		'default'	=> 'select',
		'sanitize_callback' => 'vw_painter_sanitize_choices',
	));
	$wp_customize->add_control('vw_painter_services',array(
		'type'    => 'select',
		'choices' => $cat_post,		
		'label' => __('Select Category to display services','vw-painter'),
		'description' => __('Services Icon size (75 x 65)','vw-painter'),
		'section' => 'vw_painter_service_section',
	));

	//Services excerpt
	$wp_customize->add_setting( 'vw_painter_services_excerpt_number', array(
		'default'              => 30,
		'transport' 		   => 'refresh',
		'sanitize_callback'    => 'vw_painter_sanitize_number_range'
	) );
	$wp_customize->add_control( 'vw_painter_services_excerpt_number', array(
		'label'       => esc_html__( 'Services Excerpt length','vw-painter' ),
		'section'     => 'vw_painter_service_section',
		'type'        => 'range',
		'settings'    => 'vw_painter_services_excerpt_number',
		'input_attrs' => array(
			'step'             => 2,
			'min'              => 0,
			'max'              => 50,
		),
	) );

	$wp_customize->add_setting('vw_painter_services_button_text',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_services_button_text',array(
		'label'	=> __('Add Services Button Text','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( 'View More', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_service_section',
		'type'=> 'text'
	));

	//projects Section
	$wp_customize->add_section('vw_painter_projects', array(
		'title'       => __('Projects Section', 'vw-painter'),
		'description' => __('<p class="premium-opt">Premium Theme Features</p>','vw-painter'),
		'priority'    => null,
		'panel'       => 'vw_painter_homepage_panel',
	));

	$wp_customize->add_setting('vw_painter_projects_text',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_projects_text',array(
		'description' => __('<p>1. More options for projects section.</p>
			<p>2. Unlimited images options.</p>
			<p>3. Color options for projects section.</p>','vw-painter'),
		'section'=> 'vw_painter_projects',
		'type'=> 'hidden'
	));

	$wp_customize->add_setting('vw_painter_projects_btn',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_projects_btn',array(
		'description' => "<a class='go-pro' target='_blank' href='". admin_url('themes.php?page=vw_painter_guide') ." '>More Info</a>",
		'section'=> 'vw_painter_projects',
		'type'=> 'hidden'
	));

	//gallery Section
	$wp_customize->add_section('vw_painter_gallery', array(
		'title'       => __('Gallery Section', 'vw-painter'),
		'description' => __('<p class="premium-opt">Premium Theme Features</p>','vw-painter'),
		'priority'    => null,
		'panel'       => 'vw_painter_homepage_panel',
	));

	$wp_customize->add_setting('vw_painter_gallery_text',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_gallery_text',array(
		'description' => __('<p>1. More options for gallery section.</p>
			<p>2. Unlimited images options.</p>
			<p>3. Color options for gallery section.</p>','vw-painter'),
		'section'=> 'vw_painter_gallery',
		'type'=> 'hidden'
	));

	$wp_customize->add_setting('vw_painter_gallery_btn',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_gallery_btn',array(
		'description' => "<a class='go-pro' target='_blank' href='". admin_url('themes.php?page=vw_painter_guide') ." '>More Info</a>",
		'section'=> 'vw_painter_gallery',
		'type'=> 'hidden'
	));

	//faqs Section
	$wp_customize->add_section('vw_painter_faqs', array(
		'title'       => __('Faqs Section', 'vw-painter'),
		'description' => __('<p class="premium-opt">Premium Theme Features</p>','vw-painter'),
		'priority'    => null,
		'panel'       => 'vw_painter_homepage_panel',
	));

	$wp_customize->add_setting('vw_painter_faqs_text',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_faqs_text',array(
		'description' => __('<p>1. More options for faqs section.</p>
			<p>2. Unlimited images options.</p>
			<p>3. Color options for faqs section.</p>','vw-painter'),
		'section'=> 'vw_painter_faqs',
		'type'=> 'hidden'
	));

	$wp_customize->add_setting('vw_painter_faqs_btn',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_faqs_btn',array(
		'description' => "<a class='go-pro' target='_blank' href='". admin_url('themes.php?page=vw_painter_guide') ." '>More Info</a>",
		'section'=> 'vw_painter_faqs',
		'type'=> 'hidden'
	));

	//Records Section
	$wp_customize->add_section('vw_painter_records', array(
		'title'       => __('Records Section', 'vw-painter'),
		'description' => __('<p class="premium-opt">Premium Theme Features</p>','vw-painter'),
		'priority'    => null,
		'panel'       => 'vw_painter_homepage_panel',
	));

	$wp_customize->add_setting('vw_painter_records_text',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_records_text',array(
		'description' => __('<p>1. More options for records section.</p>
			<p>2. Unlimited images options.</p>
			<p>3. Color options for records section.</p>','vw-painter'),
		'section'=> 'vw_painter_records',
		'type'=> 'hidden'
	));

	$wp_customize->add_setting('vw_painter_records_btn',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_records_btn',array(
		'description' => "<a class='go-pro' target='_blank' href='". admin_url('themes.php?page=vw_painter_guide') ." '>More Info</a>",
		'section'=> 'vw_painter_records',
		'type'=> 'hidden'
	));

	//why choose us Section
	$wp_customize->add_section('vw_painter_why_choose_us', array(
		'title'       => __('Why Choose Us Section', 'vw-painter'),
		'description' => __('<p class="premium-opt">Premium Theme Features</p>','vw-painter'),
		'priority'    => null,
		'panel'       => 'vw_painter_homepage_panel',
	));

	$wp_customize->add_setting('vw_painter_why_choose_us_text',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_why_choose_us_text',array(
		'description' => __('<p>1. More options for why choose us section.</p>
			<p>2. Unlimited images options.</p>
			<p>3. Color options for why choose us section.</p>','vw-painter'),
		'section'=> 'vw_painter_why_choose_us',
		'type'=> 'hidden'
	));

	$wp_customize->add_setting('vw_painter_why_choose_us_btn',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_why_choose_us_btn',array(
		'description' => "<a class='go-pro' target='_blank' href='". admin_url('themes.php?page=vw_painter_guide') ." '>More Info</a>",
		'section'=> 'vw_painter_why_choose_us',
		'type'=> 'hidden'
	));

	//testimonials Section
	$wp_customize->add_section('vw_painter_testimonials', array(
		'title'       => __('Testimonials Section', 'vw-painter'),
		'description' => __('<p class="premium-opt">Premium Theme Features</p>','vw-painter'),
		'priority'    => null,
		'panel'       => 'vw_painter_homepage_panel',
	));

	$wp_customize->add_setting('vw_painter_testimonials_text',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_testimonials_text',array(
		'description' => __('<p>1. More options for testimonials section.</p>
			<p>2. Unlimited images options.</p>
			<p>3. Color options for testimonials section.</p>','vw-painter'),
		'section'=> 'vw_painter_testimonials',
		'type'=> 'hidden'
	));

	$wp_customize->add_setting('vw_painter_testimonials_btn',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_testimonials_btn',array(
		'description' => "<a class='go-pro' target='_blank' href='". admin_url('themes.php?page=vw_painter_guide') ." '>More Info</a>",
		'section'=> 'vw_painter_testimonials',
		'type'=> 'hidden'
	));

	//latest post Section
	$wp_customize->add_section('vw_painter_latest_post', array(
		'title'       => __('Latest Post Section', 'vw-painter'),
		'description' => __('<p class="premium-opt">Premium Theme Features</p>','vw-painter'),
		'priority'    => null,
		'panel'       => 'vw_painter_homepage_panel',
	));

	$wp_customize->add_setting('vw_painter_latest_post_text',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_latest_post_text',array(
		'description' => __('<p>1. More options for latest post section.</p>
			<p>2. Unlimited images options.</p>
			<p>3. Color options for latest post section.</p>','vw-painter'),
		'section'=> 'vw_painter_latest_post',
		'type'=> 'hidden'
	));

	$wp_customize->add_setting('vw_painter_latest_post_btn',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_latest_post_btn',array(
		'description' => "<a class='go-pro' target='_blank' href='". admin_url('themes.php?page=vw_painter_guide') ." '>More Info</a>",
		'section'=> 'vw_painter_latest_post',
		'type'=> 'hidden'
	));

	//partners Section
	$wp_customize->add_section('vw_painter_partners', array(
		'title'       => __('Partners Section', 'vw-painter'),
		'description' => __('<p class="premium-opt">Premium Theme Features</p>','vw-painter'),
		'priority'    => null,
		'panel'       => 'vw_painter_homepage_panel',
	));

	$wp_customize->add_setting('vw_painter_partners_text',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_partners_text',array(
		'description' => __('<p>1. More options for partners section.</p>
			<p>2. Unlimited images options.</p>
			<p>3. Color options for partners section.</p>','vw-painter'),
		'section'=> 'vw_painter_partners',
		'type'=> 'hidden'
	));

	$wp_customize->add_setting('vw_painter_partners_btn',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_partners_btn',array(
		'description' => "<a class='go-pro' target='_blank' href='". admin_url('themes.php?page=vw_painter_guide') ." '>More Info</a>",
		'section'=> 'vw_painter_partners',
		'type'=> 'hidden'
	));

	//contact us Section
	$wp_customize->add_section('vw_painter_contact_us', array(
		'title'       => __('Contact Us Section', 'vw-painter'),
		'description' => __('<p class="premium-opt">Premium Theme Features</p>','vw-painter'),
		'priority'    => null,
		'panel'       => 'vw_painter_homepage_panel',
	));

	$wp_customize->add_setting('vw_painter_contact_us_text',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_contact_us_text',array(
		'description' => __('<p>1. More options for contact us section.</p>
			<p>2. Unlimited images options.</p>
			<p>3. Color options for contact us section.</p>','vw-painter'),
		'section'=> 'vw_painter_contact_us',
		'type'=> 'hidden'
	));

	$wp_customize->add_setting('vw_painter_contact_us_btn',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_contact_us_btn',array(
		'description' => "<a class='go-pro' target='_blank' href='". admin_url('themes.php?page=vw_painter_guide') ." '>More Info</a>",
		'section'=> 'vw_painter_contact_us',
		'type'=> 'hidden'
	));

	//Footer Text
	$wp_customize->add_section('vw_painter_footer',array(
		'title'	=> __('Footer','vw-painter'),
		'description' => __('For more options of footer section </br> <a class="go-pro-btn" target="blank" href="https://www.vwthemes.com/themes/painter-wordpress-theme/">GO PRO</a>','vw-painter'),
		'panel' => 'vw_painter_homepage_panel',
	));	

	$wp_customize->add_setting('vw_painter_footer_background_color', array(
		'default'           => '#1e1d24',
		'sanitize_callback' => 'sanitize_hex_color',
	));
	$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'vw_painter_footer_background_color', array(
		'label'    => __('Footer Background Color', 'vw-painter'),
		'section'  => 'vw_painter_footer',
	)));

	$wp_customize->add_setting('vw_painter_footer_background_image',array(
		'default'	=> '',
		'sanitize_callback'	=> 'esc_url_raw',
	));
	$wp_customize->add_control( new WP_Customize_Image_Control($wp_customize,'vw_painter_footer_background_image',array(
        'label' => __('Footer Background Image','vw-painter'),
        'section' => 'vw_painter_footer'
	)));

	// footer padding
	$wp_customize->add_setting('vw_painter_footer_padding',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_footer_padding',array(
		'label'	=> __('Footer Top Bottom Padding','vw-painter'),
		'description'	=> __('Enter a value in pixels. Example:20px','vw-painter'),
		'input_attrs' => array(
      'placeholder' => __( '10px', 'vw-painter' ),
    ),
		'section'=> 'vw_painter_footer',
		'type'=> 'text'
	));

	$wp_customize->add_setting('vw_painter_footer_widgets_heading',array(
        'default' => 'Left',
        'transport' => 'refresh',
        'sanitize_callback' => 'vw_painter_sanitize_choices'
	));
	$wp_customize->add_control('vw_painter_footer_widgets_heading',array(
        'type' => 'select',
        'label' => __('Footer Widget Heading','vw-painter'),
        'section' => 'vw_painter_footer',
        'choices' => array(
        	'Left' => __('Left','vw-painter'),
            'Center' => __('Center','vw-painter'),
            'Right' => __('Right','vw-painter')
        ),
	) );

	$wp_customize->add_setting('vw_painter_footer_widgets_content',array(
        'default' => 'Left',
        'transport' => 'refresh',
        'sanitize_callback' => 'vw_painter_sanitize_choices'
	));
	$wp_customize->add_control('vw_painter_footer_widgets_content',array(
        'type' => 'select',
        'label' => __('Footer Widget Content','vw-painter'),
        'section' => 'vw_painter_footer',
        'choices' => array(
        	'Left' => __('Left','vw-painter'),
            'Center' => __('Center','vw-painter'),
            'Right' => __('Right','vw-painter')
        ),
	) );

    // footer social icon
  	$wp_customize->add_setting( 'vw_painter_footer_icon',array(
		'default' => false,
		'transport' => 'refresh',
		'sanitize_callback' => 'vw_painter_switch_sanitization'
    ) );
  	$wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_footer_icon',array(
		'label' => esc_html__( 'Footer Social Icon','vw-painter' ),
		'section' => 'vw_painter_footer'
    )));

	//Selective Refresh
	$wp_customize->selective_refresh->add_partial('vw_painter_footer_text', array( 
		'selector' => '.copyright p', 
		'render_callback' => 'vw_painter_customize_partial_vw_painter_footer_text', 
	));
	
	$wp_customize->add_setting('vw_painter_footer_text',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));	
	$wp_customize->add_control('vw_painter_footer_text',array(
		'label'	=> __('Copyright Text','vw-painter'),
		'section'=> 'vw_painter_footer',
		'setting'=> 'vw_painter_footer_text',
		'type'=> 'text'
	));	

	$wp_customize->add_setting('vw_painter_copyright_font_size',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_copyright_font_size',array(
		'label'	=> __('Copyright Font Size','vw-painter'),
		'description'	=> __('Enter a value in pixels. Example:20px','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( '10px', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_footer',
		'type'=> 'text'
	));

	$wp_customize->add_setting('vw_painter_copyright_padding_top_bottom',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_copyright_padding_top_bottom',array(
		'label'	=> __('Copyright Padding Top Bottom','vw-painter'),
		'description'	=> __('Enter a value in pixels. Example:20px','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( '10px', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_footer',
		'type'=> 'text'
	));

	$wp_customize->add_setting('vw_painter_copyright_alignment',array(
        'default' => 'center',
        'sanitize_callback' => 'vw_painter_sanitize_choices'
	));
	$wp_customize->add_control(new VW_Painter_Image_Radio_Control($wp_customize, 'vw_painter_copyright_alignment', array(
        'type' => 'select',
        'label' => __('Copyright Alignment','vw-painter'),
        'section' => 'vw_painter_footer',
        'settings' => 'vw_painter_copyright_alignment',
        'choices' => array(
            'left' => esc_url(get_template_directory_uri()).'/images/copyright1.png',
            'center' => esc_url(get_template_directory_uri()).'/images/copyright2.png',
            'right' => esc_url(get_template_directory_uri()).'/images/copyright3.png'
    ))));

	$wp_customize->add_setting( 'vw_painter_hide_show_scroll',array(
    	'default' => 1,
      	'transport' => 'refresh',
      	'sanitize_callback' => 'vw_painter_switch_sanitization'
    ));  
    $wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_hide_show_scroll',array(
      	'label' => esc_html__( 'Show / Hide Scroll To Top','vw-painter' ),
      	'section' => 'vw_painter_footer'
    )));

    //Selective Refresh
	$wp_customize->selective_refresh->add_partial('vw_painter_scroll_to_top_icon', array( 
		'selector' => '.scrollup i', 
		'render_callback' => 'vw_painter_customize_partial_vw_painter_scroll_to_top_icon', 
	));

    $wp_customize->add_setting('vw_painter_scroll_to_top_icon',array(
		'default'	=> 'fas fa-long-arrow-alt-up',
		'sanitize_callback'	=> 'sanitize_text_field'
	));	
	$wp_customize->add_control(new VW_Painter_Fontawesome_Icon_Chooser(
        $wp_customize,'vw_painter_scroll_to_top_icon',array(
		'label'	=> __('Add Scroll to Top Icon','vw-painter'),
		'transport' => 'refresh',
		'section'	=> 'vw_painter_footer',
		'setting'	=> 'vw_painter_scroll_to_top_icon',
		'type'		=> 'icon'
	)));

	$wp_customize->add_setting('vw_painter_scroll_to_top_font_size',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_scroll_to_top_font_size',array(
		'label'	=> __('Icon Font Size','vw-painter'),
		'description'	=> __('Enter a value in pixels. Example:20px','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( '10px', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_footer',
		'type'=> 'text'
	));

	$wp_customize->add_setting('vw_painter_scroll_to_top_padding',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_scroll_to_top_padding',array(
		'label'	=> __('Icon Top Bottom Padding','vw-painter'),
		'description'	=> __('Enter a value in pixels. Example:20px','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( '10px', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_footer',
		'type'=> 'text'
	));

	$wp_customize->add_setting('vw_painter_scroll_to_top_width',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_scroll_to_top_width',array(
		'label'	=> __('Icon Width','vw-painter'),
		'description'	=> __('Enter a value in pixels Example:20px','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( '10px', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_footer',
		'type'=> 'text'
	));

	$wp_customize->add_setting('vw_painter_scroll_to_top_height',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_scroll_to_top_height',array(
		'label'	=> __('Icon Height','vw-painter'),
		'description'	=> __('Enter a value in pixels. Example:20px','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( '10px', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_footer',
		'type'=> 'text'
	));

	$wp_customize->add_setting( 'vw_painter_scroll_to_top_border_radius', array(
		'default'              => '',
		'transport' 		   => 'refresh',
		'sanitize_callback'    => 'vw_painter_sanitize_number_range'
	) );
	$wp_customize->add_control( 'vw_painter_scroll_to_top_border_radius', array(
		'label'       => esc_html__( 'Icon Border Radius','vw-painter' ),
		'section'     => 'vw_painter_footer',
		'type'        => 'range',
		'input_attrs' => array(
			'step'             => 1,
			'min'              => 1,
			'max'              => 50,
		),
	) );

	$wp_customize->add_setting('vw_painter_scroll_top_alignment',array(
        'default' => 'Right',
        'sanitize_callback' => 'vw_painter_sanitize_choices'
	));
	$wp_customize->add_control(new VW_Painter_Image_Radio_Control($wp_customize, 'vw_painter_scroll_top_alignment', array(
        'type' => 'select',
        'label' => __('Scroll To Top','vw-painter'),
        'section' => 'vw_painter_footer',
        'settings' => 'vw_painter_scroll_top_alignment',
        'choices' => array(
            'Left' => esc_url(get_template_directory_uri()).'/images/layout1.png',
            'Center' => esc_url(get_template_directory_uri()).'/images/layout2.png',
            'Right' => esc_url(get_template_directory_uri()).'/images/layout3.png'
    ))));

	//Blog Post
	$wp_customize->add_panel( $VWPainterParentPanel );

	$BlogPostParentPanel = new VW_Painter_WP_Customize_Panel( $wp_customize, 'blog_post_parent_panel', array(
		'title' => __( 'Blog Post Settings', 'vw-painter' ),
		'panel' => 'vw_painter_panel_id',
	));

	$wp_customize->add_panel( $BlogPostParentPanel );

	// Add example section and controls to the middle (second) panel
	$wp_customize->add_section( 'vw_painter_post_settings', array(
		'title' => __( 'Post Settings', 'vw-painter' ),
		'panel' => 'blog_post_parent_panel',
	));	

	//Blog layout
    $wp_customize->add_setting('vw_painter_blog_layout_option',array(
        'default' => 'Default',
        'sanitize_callback' => 'vw_painter_sanitize_choices'
    ));
    $wp_customize->add_control(new VW_Painter_Image_Radio_Control($wp_customize, 'vw_painter_blog_layout_option', array(
        'type' => 'select',
        'label' => __('Blog Layouts','vw-painter'),
        'section' => 'vw_painter_post_settings',
        'choices' => array(
            'Default' => esc_url(get_template_directory_uri()).'/images/blog-layout1.png',
            'Center' => esc_url(get_template_directory_uri()).'/images/blog-layout2.png',
            'Left' => esc_url(get_template_directory_uri()).'/images/blog-layout3.png',
    ))));

	//Selective Refresh
	$wp_customize->selective_refresh->add_partial('vw_painter_toggle_postdate', array( 
		'selector' => '.post-main-box h2 a', 
		'render_callback' => 'vw_painter_customize_partial_vw_painter_toggle_postdate', 
	));

	$wp_customize->add_setting('vw_painter_toggle_postdate_icon',array(
		'default'	=> 'fas fa-calendar-alt',
		'sanitize_callback'	=> 'sanitize_text_field'
	));	
	$wp_customize->add_control(new VW_Painter_Fontawesome_Icon_Chooser(
        $wp_customize,'vw_painter_toggle_postdate_icon',array(
		'label'	=> __('Add Post Date Icon','vw-painter'),
		'transport' => 'refresh',
		'section'	=> 'vw_painter_post_settings',
		'type'		=> 'icon'
	)));

	$wp_customize->add_setting( 'vw_painter_toggle_postdate',array(
        'default' => 1,
        'transport' => 'refresh',
        'sanitize_callback' => 'vw_painter_switch_sanitization'
    ) );
    $wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_toggle_postdate',array(
        'label' => esc_html__( 'Post Date','vw-painter' ),
        'section' => 'vw_painter_post_settings'
    )));

    $wp_customize->add_setting('vw_painter_toggle_author_icon',array(
		'default'	=> 'far fa-user',
		'sanitize_callback'	=> 'sanitize_text_field'
	));	
	$wp_customize->add_control(new VW_Painter_Fontawesome_Icon_Chooser(
        $wp_customize,'vw_painter_toggle_author_icon',array(
		'label'	=> __('Add Author Icon','vw-painter'),
		'transport' => 'refresh',
		'section'	=> 'vw_painter_post_settings',
		'type'		=> 'icon'
	)));

    $wp_customize->add_setting( 'vw_painter_toggle_author',array(
		'default' => 1,
		'transport' => 'refresh',
		'sanitize_callback' => 'vw_painter_switch_sanitization'
    ) );
    $wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_toggle_author',array(
		'label' => esc_html__( 'Author','vw-painter' ),
		'section' => 'vw_painter_post_settings'
    )));

    $wp_customize->add_setting('vw_painter_toggle_comments_icon',array(
		'default'	=> 'fas fa-comments',
		'sanitize_callback'	=> 'sanitize_text_field'
	));	
	$wp_customize->add_control(new VW_Painter_Fontawesome_Icon_Chooser(
        $wp_customize,'vw_painter_toggle_comments_icon',array(
		'label'	=> __('Add Comments Icon','vw-painter'),
		'transport' => 'refresh',
		'section'	=> 'vw_painter_post_settings',
		'type'		=> 'icon'
	)));

    $wp_customize->add_setting( 'vw_painter_toggle_comments',array(
		'default' => 1,
		'transport' => 'refresh',
		'sanitize_callback' => 'vw_painter_switch_sanitization'
    ) );
    $wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_toggle_comments',array(
		'label' => esc_html__( 'Comments','vw-painter' ),
		'section' => 'vw_painter_post_settings'
    )));

    $wp_customize->add_setting('vw_painter_toggle_time_icon',array(
		'default'	=> 'fas fa-clock',
		'sanitize_callback'	=> 'sanitize_text_field'
	));	
	$wp_customize->add_control(new VW_Painter_Fontawesome_Icon_Chooser(
        $wp_customize,'vw_painter_toggle_time_icon',array(
		'label'	=> __('Add Time Icon','vw-painter'),
		'transport' => 'refresh',
		'section'	=> 'vw_painter_post_settings',
		'type'		=> 'icon'
	)));

     $wp_customize->add_setting( 'vw_painter_toggle_time',array(
		'default' => 1,
		'transport' => 'refresh',
		'sanitize_callback' => 'vw_painter_switch_sanitization'
    ) );
    $wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_toggle_time',array(
		'label' => esc_html__( 'Time','vw-painter' ),
		'section' => 'vw_painter_post_settings'
    )));

    $wp_customize->add_setting( 'vw_painter_featured_image_hide_show',array(
		'default' => 1,
		'transport' => 'refresh',
		'sanitize_callback' => 'vw_painter_switch_sanitization'
	));
    $wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_featured_image_hide_show', array(
		'label' => esc_html__( 'Featured Image','vw-painter' ),
		'section' => 'vw_painter_post_settings'
    )));

    $wp_customize->add_setting( 'vw_painter_featured_image_border_radius', array(
		'default'              => '0',
		'transport' 		   => 'refresh',
		'sanitize_callback'    => 'vw_painter_sanitize_number_range'
	) );
	$wp_customize->add_control( 'vw_painter_featured_image_border_radius', array(
		'label'       => esc_html__( 'Featured Image Border Radius','vw-painter' ),
		'section'     => 'vw_painter_post_settings',
		'type'        => 'range',
		'input_attrs' => array(
			'step'             => 1,
			'min'              => 1,
			'max'              => 50,
		),
	) );

	$wp_customize->add_setting( 'vw_painter_featured_image_box_shadow', array(
		'default'              => '0',
		'transport' 		   => 'refresh',
		'sanitize_callback'    => 'vw_painter_sanitize_number_range'
	) );
	$wp_customize->add_control( 'vw_painter_featured_image_box_shadow', array(
		'label'       => esc_html__( 'Featured Image Box Shadow','vw-painter' ),
		'section'     => 'vw_painter_post_settings',
		'type'        => 'range',
		'input_attrs' => array(
			'step'             => 1,
			'min'              => 1,
			'max'              => 50,
		),
	) );

	//Featured Image
	$wp_customize->add_setting('vw_painter_blog_post_featured_image_dimension',array(
	       'default' => 'default',
	       'sanitize_callback'	=> 'vw_painter_sanitize_choices'
	));
  	$wp_customize->add_control('vw_painter_blog_post_featured_image_dimension',array(
     'type' => 'select',
     'label'	=> __('Blog Post Featured Image Dimension','vw-painter'),
     'section'	=> 'vw_painter_post_settings',
     'choices' => array(
          'default' => __('Default','vw-painter'),
          'custom' => __('Custom Image Size','vw-painter'),
      ),
  	));

	$wp_customize->add_setting('vw_painter_blog_post_featured_image_custom_width',array(
			'default'=> '',
			'sanitize_callback'	=> 'sanitize_text_field'
		));
	$wp_customize->add_control('vw_painter_blog_post_featured_image_custom_width',array(
			'label'	=> __('Featured Image Custom Width','vw-painter'),
			'description'	=> __('Enter a value in pixels. Example:20px','vw-painter'),
			'input_attrs' => array(
	    'placeholder' => __( '10px', 'vw-painter' ),),
			'section'=> 'vw_painter_post_settings',
			'type'=> 'text',
			'active_callback' => 'vw_painter_blog_post_featured_image_dimension'
		));

	$wp_customize->add_setting('vw_painter_blog_post_featured_image_custom_height',array(
			'default'=> '',
			'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_blog_post_featured_image_custom_height',array(
			'label'	=> __('Featured Image Custom Height','vw-painter'),
			'description'	=> __('Enter a value in pixels. Example:20px','vw-painter'),
			'input_attrs' => array(
	    'placeholder' => __( '10px', 'vw-painter' ),),
			'section'=> 'vw_painter_post_settings',
			'type'=> 'text',
			'active_callback' => 'vw_painter_blog_post_featured_image_dimension'
	));

	$wp_customize->add_setting('vw_painter_meta_field_separator',array(
		'default'=> '|',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_meta_field_separator',array(
		'label'	=> __('Add Meta Separator','vw-painter'),
		'description' => __('Add the seperator for meta box. Example: "|", "/", etc.','vw-painter'),
		'section'=> 'vw_painter_post_settings',
		'type'=> 'text'
	));

    $wp_customize->add_setting('vw_painter_blog_page_posts_settings',array(
        'default' => 'Into Blocks',
        'transport' => 'refresh',
        'sanitize_callback' => 'vw_painter_sanitize_choices'
	));
	$wp_customize->add_control('vw_painter_blog_page_posts_settings',array(
        'type' => 'select',
        'label' => __('Display Blog Page posts','vw-painter'),
        'section' => 'vw_painter_post_settings',
        'choices' => array(
        	'Into Blocks' => __('Into Blocks','vw-painter'),
            'Without Blocks' => __('Without Blocks','vw-painter')
        ),
	) );

    $wp_customize->add_setting( 'vw_painter_excerpt_number', array(
		'default'              => 30,
		'transport' 		   => 'refresh',
		'sanitize_callback'    => 'vw_painter_sanitize_number_range'
	) );
	$wp_customize->add_control( 'vw_painter_excerpt_number', array(
		'label'       => esc_html__( 'Excerpt length','vw-painter' ),
		'section'     => 'vw_painter_post_settings',
		'type'        => 'range',
		'settings'    => 'vw_painter_excerpt_number',
		'input_attrs' => array(
			'step'             => 2,
			'min'              => 0,
			'max'              => 50,
		),
	) );

    $wp_customize->add_setting('vw_painter_excerpt_settings',array(
        'default' => 'Excerpt',
        'transport' => 'refresh',
        'sanitize_callback' => 'vw_painter_sanitize_choices'
	));
	$wp_customize->add_control('vw_painter_excerpt_settings',array(
        'type' => 'select',
        'label' => __('Post Content','vw-painter'),
        'section' => 'vw_painter_post_settings',
        'choices' => array(
        	'Content' => __('Content','vw-painter'),
            'Excerpt' => __('Excerpt','vw-painter'),
            'No Content' => __('No Content','vw-painter')
        ),
	) );

	$wp_customize->add_setting('vw_painter_excerpt_suffix',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_excerpt_suffix',array(
		'label'	=> __('Add Excerpt Suffix','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( '[...]', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_post_settings',
		'type'=> 'text'
	));

	$wp_customize->add_setting( 'vw_painter_blog_pagination_hide_show',array(
      'default' => 1,
      'transport' => 'refresh',
      'sanitize_callback' => 'vw_painter_switch_sanitization'
    ));  
    $wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_blog_pagination_hide_show',array(
      'label' => esc_html__( 'Show / Hide Blog Pagination','vw-painter' ),
      'section' => 'vw_painter_post_settings'
    )));

	$wp_customize->add_setting( 'vw_painter_blog_pagination_type', array(
        'default'			=> 'blog-page-numbers',
        'sanitize_callback'	=> 'vw_painter_sanitize_choices'
    ));
    $wp_customize->add_control( 'vw_painter_blog_pagination_type', array(
        'section' => 'vw_painter_post_settings',
        'type' => 'select',
        'label' => __( 'Blog Pagination', 'vw-painter' ),
        'choices'		=> array(
            'blog-page-numbers'  => __( 'Numeric', 'vw-painter' ),
            'next-prev' => __( 'Older Posts/Newer Posts', 'vw-painter' ),
    )));

    // Button Settings
	$wp_customize->add_section( 'vw_painter_button_settings', array(
		'title' => __( 'Button Settings', 'vw-painter' ),
		'panel' => 'blog_post_parent_panel',
	));

	//Selective Refresh
	$wp_customize->selective_refresh->add_partial('vw_painter_blog_button_text', array( 
		'selector' => '.post-main-box .content-bttn a', 
		'render_callback' => 'vw_painter_customize_partial_vw_painter_blog_button_text', 
	));

    $wp_customize->add_setting('vw_painter_blog_button_text',array(
		'default'=> 'Read More',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_blog_button_text',array(
		'label'	=> __('Add Button Text','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( 'Read More', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_button_settings',
		'type'=> 'text'
	));

	// font size button
	$wp_customize->add_setting('vw_painter_button_font_size',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_button_font_size',array(
		'label'	=> __('Button Font Size','vw-painter'),
		'description'	=> __('Enter a value in pixels. Example:20px','vw-painter'),
		'input_attrs' => array(
      'placeholder' => __( '10px', 'vw-painter' ),
    ),
    'type'        => 'text',
		'input_attrs' => array(
			'step'             => 1,
			'min'              => 1,
			'max'              => 50,
		),
		'section'=> 'vw_painter_button_settings',
	));


	$wp_customize->add_setting( 'vw_painter_button_border_radius', array(
		'default'              => '',
		'transport' 		   => 'refresh',
		'sanitize_callback'    => 'vw_painter_sanitize_number_range'
	) );
	$wp_customize->add_control( 'vw_painter_button_border_radius', array(
		'label'       => esc_html__( 'Button Border Radius','vw-painter' ),
		'section'     => 'vw_painter_button_settings',
		'type'        => 'range',
		'input_attrs' => array(
			'step'             => 1,
			'min'              => 1,
			'max'              => 50,
		),
	) );

	$wp_customize->add_setting('vw_painter_button_padding_top_bottom',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_button_padding_top_bottom',array(
		'label'	=> __('Padding Top Bottom','vw-painter'),
		'description'	=> __('Enter a value in pixels. Example:20px','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( '10px', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_button_settings',
		'type'=> 'text'
	));

	$wp_customize->add_setting('vw_painter_button_padding_left_right',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_button_padding_left_right',array(
		'label'	=> __('Padding Left Right','vw-painter'),
		'description'	=> __('Enter a value in pixels. Example:20px','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( '10px', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_button_settings',
		'type'=> 'text'
	));

	// text trasform
	$wp_customize->add_setting('vw_painter_button_text_transform',array(
		'default'=> 'Uppercase',
		'sanitize_callback'	=> 'vw_painter_sanitize_choices'
	));
	$wp_customize->add_control('vw_painter_button_text_transform',array(
		'type' => 'radio',
		'label'	=> __('Button Text Transform','vw-painter'),
		'choices' => array(
            'Uppercase' => __('Uppercase','vw-painter'),
            'Capitalize' => __('Capitalize','vw-painter'),
            'Lowercase' => __('Lowercase','vw-painter'),
        ),
		'section'=> 'vw_painter_button_settings',
	));

	$wp_customize->add_setting('vw_painter_button_letter_spacing',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_button_letter_spacing',array(
		'label'	=> __('Button Letter Spacing','vw-painter'),
		'description'	=> __('Enter a value in pixels. Example:20px','vw-painter'),
		'input_attrs' => array(
      	'placeholder' => __( '10px', 'vw-painter' ),
    ),
    	'type'        => 'text',
		'input_attrs' => array(
			'step'             => 1,
			'min'              => 1,
			'max'              => 50,
		),
		'section'=> 'vw_painter_button_settings',
	));

	// Related Post Settings
	$wp_customize->add_section( 'vw_painter_related_posts_settings', array(
		'title' => __( 'Related Posts Settings', 'vw-painter' ),
		'panel' => 'blog_post_parent_panel',
	));

	//Selective Refresh
	$wp_customize->selective_refresh->add_partial('vw_painter_related_post_title', array( 
		'selector' => '.related-post h3', 
		'render_callback' => 'vw_painter_customize_partial_vw_painter_related_post_title', 
	));

    $wp_customize->add_setting( 'vw_painter_related_post',array(
		'default' => 1,
		'transport' => 'refresh',
		'sanitize_callback' => 'vw_painter_switch_sanitization'
    ) );
    $wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_related_post',array(
		'label' => esc_html__( 'Related Post','vw-painter' ),
		'section' => 'vw_painter_related_posts_settings'
    )));

    $wp_customize->add_setting('vw_painter_related_post_title',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_related_post_title',array(
		'label'	=> __('Add Related Post Title','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( 'Related Post', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_related_posts_settings',
		'type'=> 'text'
	));

   	$wp_customize->add_setting('vw_painter_related_posts_count',array(
		'default'=> '3',
		'sanitize_callback'	=> 'vw_painter_sanitize_float'
	));
	$wp_customize->add_control('vw_painter_related_posts_count',array(
		'label'	=> __('Add Related Post Count','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( '3', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_related_posts_settings',
		'type'=> 'number'
	));

	$wp_customize->add_setting( 'vw_painter_related_posts_excerpt_number', array(
		'default'              => 20,
		'transport' 		   => 'refresh',
		'sanitize_callback'    => 'vw_painter_sanitize_number_range'
	) );
	$wp_customize->add_control( 'vw_painter_related_posts_excerpt_number', array(
		'label'       => esc_html__( 'Related Posts Excerpt length','vw-painter' ),
		'section'     => 'vw_painter_related_posts_settings',
		'type'        => 'range',
		'settings'    => 'vw_painter_related_posts_excerpt_number',
		'input_attrs' => array(
			'step'             => 5,
			'min'              => 0,
			'max'              => 50,
		),
	) );

	// Single Posts Settings
	$wp_customize->add_section( 'vw_painter_single_blog_settings', array(
		'title' => __( 'Single Post Settings', 'vw-painter' ),
		'panel' => 'blog_post_parent_panel',
	));

	$wp_customize->add_setting( 'vw_painter_single_postdate',array(
	    'default' => 1,
	    'transport' => 'refresh',
	    'sanitize_callback' => 'vw_painter_switch_sanitization'
	) );
	$wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_single_postdate',array(
	    'label' => esc_html__( 'Date','vw-painter' ),
	   'section' => 'vw_painter_single_blog_settings'
	)));

    $wp_customize->add_setting( 'vw_painter_single_author',array(
	    'default' => 1,
	    'transport' => 'refresh',
	    'sanitize_callback' => 'vw_painter_switch_sanitization'
	) );
	$wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_single_author',array(
	    'label' => esc_html__( 'Author','vw-painter' ),
	    'section' => 'vw_painter_single_blog_settings'
	)));

	$wp_customize->add_setting( 'vw_painter_single_comments',array(
	    'default' => 1,
	    'transport' => 'refresh',
	    'sanitize_callback' => 'vw_painter_switch_sanitization'
	) );
	$wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_single_comments',array(
	    'label' => esc_html__( 'Comments','vw-painter' ),
	    'section' => 'vw_painter_single_blog_settings'
	)));

	$wp_customize->add_setting( 'vw_painter_single_time',array(
	    'default' => 1,
	    'transport' => 'refresh',
	    'sanitize_callback' => 'vw_painter_switch_sanitization'
	) );

	$wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_single_time',array(
	    'label' => esc_html__( 'Time','vw-painter' ),
	    'section' => 'vw_painter_single_blog_settings'
	)));

	$wp_customize->add_setting( 'vw_painter_toggle_tags',array(
		'default' => 1,
		'transport' => 'refresh',
		'sanitize_callback' => 'vw_painter_switch_sanitization'
	));
    $wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_toggle_tags', array(
		'label' => esc_html__( 'Tags','vw-painter' ),
		'section' => 'vw_painter_single_blog_settings'
    )));

    $wp_customize->add_setting( 'vw_painter_single_post_breadcrumb',array(
		'default' => 1,
		'transport' => 'refresh',
		'sanitize_callback' => 'vw_painter_switch_sanitization'
    ) );
    $wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_single_post_breadcrumb',array(
		'label' => esc_html__( 'Single Post Breadcrumb','vw-painter' ),
		'section' => 'vw_painter_single_blog_settings'
    )));

    // Single Posts Category
  	$wp_customize->add_setting( 'vw_painter_single_post_category',array(
		'default' => true,
		'transport' => 'refresh',
		'sanitize_callback' => 'vw_painter_switch_sanitization'
    ) );
  	$wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_single_post_category',array(
		'label' => esc_html__( 'Single Post Category','vw-painter' ),
		'section' => 'vw_painter_single_blog_settings'
    )));

	$wp_customize->add_setting('vw_painter_single_post_meta_field_separator',array(
		'default'=> '|',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_single_post_meta_field_separator',array(
		'label'	=> __('Add Meta Separator','vw-painter'),
		'description' => __('Add the seperator for meta box. Example: "|", "/", etc.','vw-painter'),
		'section'=> 'vw_painter_single_blog_settings',
		'type'=> 'text'
	));

	$wp_customize->add_setting( 'vw_painter_single_blog_post_navigation_show_hide',array(
		'default' => 1,
		'transport' => 'refresh',
		'sanitize_callback' => 'vw_painter_switch_sanitization'
	));
    $wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_single_blog_post_navigation_show_hide', array(
		'label' => esc_html__( 'Post Navigation','vw-painter' ),
		'section' => 'vw_painter_single_blog_settings'
    )));

	//navigation text
	$wp_customize->add_setting('vw_painter_single_blog_prev_navigation_text',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_single_blog_prev_navigation_text',array(
		'label'	=> __('Post Navigation Text','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( 'PREVIOUS', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_single_blog_settings',
		'type'=> 'text'
	));

	$wp_customize->add_setting('vw_painter_single_blog_next_navigation_text',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_single_blog_next_navigation_text',array(
		'label'	=> __('Post Navigation Text','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( 'NEXT', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_single_blog_settings',
		'type'=> 'text'
	));

	$wp_customize->add_setting('vw_painter_single_blog_comment_title',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));

	$wp_customize->add_control('vw_painter_single_blog_comment_title',array(
		'label'	=> __('Add Comment Title','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( 'Leave a Reply', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_single_blog_settings',
		'type'=> 'text'
	));

	$wp_customize->add_setting('vw_painter_single_blog_comment_button_text',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));

	$wp_customize->add_control('vw_painter_single_blog_comment_button_text',array(
		'label'	=> __('Add Comment Button Text','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( 'Post Comment', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_single_blog_settings',
		'type'=> 'text'
	));

	$wp_customize->add_setting('vw_painter_single_blog_comment_width',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_single_blog_comment_width',array(
		'label'	=> __('Comment Form Width','vw-painter'),
		'description'	=> __('Enter a value in %. Example:50%','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( '100%', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_single_blog_settings',
		'type'=> 'text'
	));

	// Grid layout setting
	$wp_customize->add_section( 'vw_painter_grid_layout_settings', array(
		'title' => __( 'Grid Layout Settings', 'vw-painter' ),
		'panel' => 'blog_post_parent_panel',
	));

	$wp_customize->add_setting( 'vw_painter_grid_postdate',array(
        'default' => 1,
        'transport' => 'refresh',
        'sanitize_callback' => 'vw_painter_switch_sanitization'
    ) );
    $wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_grid_postdate',array(
        'label' => esc_html__( 'Post Date','vw-painter' ),
        'section' => 'vw_painter_grid_layout_settings'
    )));

    $wp_customize->add_setting( 'vw_painter_grid_author',array(
		'default' => 1,
		'transport' => 'refresh',
		'sanitize_callback' => 'vw_painter_switch_sanitization'
    ) );
    $wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_grid_author',array(
		'label' => esc_html__( 'Author','vw-painter' ),
		'section' => 'vw_painter_grid_layout_settings'
    )));

    $wp_customize->add_setting( 'vw_painter_grid_comments',array(
		'default' => 1,
		'transport' => 'refresh',
		'sanitize_callback' => 'vw_painter_switch_sanitization'
    ) );
    $wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_grid_comments',array(
		'label' => esc_html__( 'Comments','vw-painter' ),
		'section' => 'vw_painter_grid_layout_settings'
    )));

   // other settings
	$OtherParentPanel = new VW_Painter_WP_Customize_Panel( $wp_customize, 'vw_painter_other_panel_id', array(
		'title' => __( 'Others Settings', 'vw-painter' ),
		'panel' => 'vw_painter_panel_id',
	));

	$wp_customize->add_panel( $OtherParentPanel );

	$wp_customize->add_section( 'vw_painter_left_right', array(
    	'title'      => esc_html__( 'General Settings', 'vw-painter' ),
		'panel' => 'vw_painter_other_panel_id'
	) );

	$wp_customize->add_setting('vw_painter_width_option',array(
        'default' => 'Full Width',
        'sanitize_callback' => 'vw_painter_sanitize_choices'
	));
	$wp_customize->add_control(new VW_Painter_Image_Radio_Control($wp_customize, 'vw_painter_width_option', array(
        'type' => 'select',
        'label' => __('Width Layouts','vw-painter'),
        'description' => __('Here you can change the width layout of Website.','vw-painter'),
        'section' => 'vw_painter_left_right',
        'choices' => array(
            'Full Width' => esc_url(get_template_directory_uri()).'/images/full-width.png',
            'Wide Width' => esc_url(get_template_directory_uri()).'/images/wide-width.png',
            'Boxed' => esc_url(get_template_directory_uri()).'/images/boxed-width.png',
    ))));

	// Add Settings and Controls for Layout
	$wp_customize->add_setting('vw_painter_theme_options',array(
        'default' => 'Right Sidebar',
        'sanitize_callback' => 'vw_painter_sanitize_choices'	        
	) );
	$wp_customize->add_control('vw_painter_theme_options', array(
        'type' => 'select',
        'label' => __('Post Sidebar Layout','vw-painter'),
        'description' => __('Here you can change the sidebar layout for posts. ','vw-painter'),
        'section' => 'vw_painter_left_right',
        'choices' => array(
            'Left Sidebar' => __('Left Sidebar','vw-painter'),
            'Right Sidebar' => __('Right Sidebar','vw-painter'),
            'One Column' => __('One Column','vw-painter'),
            'Three Columns' => __('Three Columns','vw-painter'),
            'Four Columns' => __('Four Columns','vw-painter'),
            'Grid Layout' => __('Grid Layout','vw-painter')
        ),
	));

	$wp_customize->add_setting('vw_painter_page_layout',array(
        'default' => 'One Column',
        'sanitize_callback' => 'vw_painter_sanitize_choices'
	));
	$wp_customize->add_control('vw_painter_page_layout',array(
        'type' => 'select',
        'label' => __('Page Sidebar Layout','vw-painter'),
        'description' => __('Here you can change the sidebar layout for pages. ','vw-painter'),
        'section' => 'vw_painter_left_right',
        'choices' => array(
            'Left Sidebar' => __('Left Sidebar','vw-painter'),
            'Right Sidebar' => __('Right Sidebar','vw-painter'),
            'One Column' => __('One Column','vw-painter')
        ),
	) );

	$wp_customize->add_setting( 'vw_painter_single_page_breadcrumb',array(
		'default' => 1,
		'transport' => 'refresh',
		'sanitize_callback' => 'vw_painter_switch_sanitization'
    ) );
    $wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_single_page_breadcrumb',array(
		'label' => esc_html__( 'Single Page Breadcrumb','vw-painter' ),
		'section' => 'vw_painter_left_right'
    )));

	//Wow Animation
	$wp_customize->add_setting( 'vw_painter_animation',array(
        'default' => 1,
        'transport' => 'refresh',
        'sanitize_callback' => 'vw_painter_switch_sanitization'
    ));
    $wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_animation',array(
        'label' => esc_html__( 'Animations','vw-painter' ),
        'description' => __('Here you can disable overall site animation effect','vw-painter'),
        'section' => 'vw_painter_left_right'
    )));

	//Pre-Loader
	$wp_customize->add_setting( 'vw_painter_loader_enable',array(
        'default' => 0,
        'transport' => 'refresh',
        'sanitize_callback' => 'vw_painter_switch_sanitization'
    ) );
    $wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_loader_enable',array(
        'label' => esc_html__( 'Pre-Loader','vw-painter' ),
        'section' => 'vw_painter_left_right'
    )));

	$wp_customize->add_setting('vw_painter_preloader_bg_color', array(
		'default'           => '#7ab901',
		'sanitize_callback' => 'sanitize_hex_color',
	));
	$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'vw_painter_preloader_bg_color', array(
		'label'    => __('Pre-Loader Background Color', 'vw-painter'),
		'section'  => 'vw_painter_left_right',
	)));

	$wp_customize->add_setting('vw_painter_preloader_border_color', array(
		'default'           => '#ffffff',
		'sanitize_callback' => 'sanitize_hex_color',
	));
	$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'vw_painter_preloader_border_color', array(
		'label'    => __('Pre-Loader Border Color', 'vw-painter'),
		'section'  => 'vw_painter_left_right',
	)));

	
	
    //404 Page Setting
	$wp_customize->add_section('vw_painter_404_page',array(
		'title'	=> __('404 Page Settings','vw-painter'),
		'panel' => 'vw_painter_other_panel_id',
	));	

	$wp_customize->add_setting('vw_painter_404_page_title',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));

	$wp_customize->add_control('vw_painter_404_page_title',array(
		'label'	=> __('Add Title','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( '404 Not Found', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_404_page',
		'type'=> 'text'
	));

	$wp_customize->add_setting('vw_painter_404_page_content',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));

	$wp_customize->add_control('vw_painter_404_page_content',array(
		'label'	=> __('Add Text','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( 'Looks like you have taken a wrong turn, Dont worry, it happens to the best of us.', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_404_page',
		'type'=> 'text'
	));

	$wp_customize->add_setting('vw_painter_404_page_button_text',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_404_page_button_text',array(
		'label'	=> __('Add Button Text','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( 'Return to the home page', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_404_page',
		'type'=> 'text'
	));

	//No Result Page Setting
	$wp_customize->add_section('vw_painter_no_results_page',array(
		'title'	=> __('No Results Page Settings','vw-painter'),
		'panel' => 'vw_painter_other_panel_id',
	));	

	$wp_customize->add_setting('vw_painter_no_results_page_title',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));

	$wp_customize->add_control('vw_painter_no_results_page_title',array(
		'label'	=> __('Add Title','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( 'Nothing Found', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_no_results_page',
		'type'=> 'text'
	));

	$wp_customize->add_setting('vw_painter_no_results_page_content',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));

	$wp_customize->add_control('vw_painter_no_results_page_content',array(
		'label'	=> __('Add Text','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( 'Sorry, but nothing matched your search terms. Please try again with some different keywords.', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_no_results_page',
		'type'=> 'text'
	));

	//Social Icon Setting
	$wp_customize->add_section('vw_painter_social_icon_settings',array(
		'title'	=> __('Social Icons Settings','vw-painter'),
		'panel' => 'vw_painter_other_panel_id',
	));	

	$wp_customize->add_setting('vw_painter_social_icon_font_size',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_social_icon_font_size',array(
		'label'	=> __('Icon Font Size','vw-painter'),
		'description'	=> __('Enter a value in pixels. Example:20px','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( '10px', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_social_icon_settings',
		'type'=> 'text'
	));

	$wp_customize->add_setting('vw_painter_social_icon_padding',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_social_icon_padding',array(
		'label'	=> __('Icon Padding','vw-painter'),
		'description'	=> __('Enter a value in pixels. Example:20px','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( '10px', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_social_icon_settings',
		'type'=> 'text'
	));

	$wp_customize->add_setting('vw_painter_social_icon_width',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_social_icon_width',array(
		'label'	=> __('Icon Width','vw-painter'),
		'description'	=> __('Enter a value in pixels. Example:20px','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( '10px', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_social_icon_settings',
		'type'=> 'text'
	));

	$wp_customize->add_setting('vw_painter_social_icon_height',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_social_icon_height',array(
		'label'	=> __('Icon Height','vw-painter'),
		'description'	=> __('Enter a value in pixels. Example:20px','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( '10px', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_social_icon_settings',
		'type'=> 'text'
	));

	$wp_customize->add_setting( 'vw_painter_social_icon_border_radius', array(
		'default'              => '',
		'transport' 		   => 'refresh',
		'sanitize_callback'    => 'vw_painter_sanitize_number_range'
	) );
	$wp_customize->add_control( 'vw_painter_social_icon_border_radius', array(
		'label'       => esc_html__( 'Icon Border Radius','vw-painter' ),
		'section'     => 'vw_painter_social_icon_settings',
		'type'        => 'range',
		'input_attrs' => array(
			'step'             => 1,
			'min'              => 1,
			'max'              => 50,
		),
	) );

	//Responsive Media Settings
	$wp_customize->add_section('vw_painter_responsive_media',array(
		'title'	=> __('Responsive Media','vw-painter'),
		'panel' => 'vw_painter_other_panel_id',
	));

	$wp_customize->add_setting( 'vw_painter_resp_topbar_hide_show',array(
      'default' => 0,
      'transport' => 'refresh',
      'sanitize_callback' => 'vw_painter_switch_sanitization'
    ));  
    $wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_resp_topbar_hide_show',array(
      'label' => esc_html__( 'Show / Hide Topbar','vw-painter' ),
      'section' => 'vw_painter_responsive_media'
    )));

    $wp_customize->add_setting( 'vw_painter_stickyheader_hide_show',array(
      'default' => 0,
      'transport' => 'refresh',
      'sanitize_callback' => 'vw_painter_switch_sanitization'
    ));  
    $wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_stickyheader_hide_show',array(
      'label' => esc_html__( 'Sticky Header','vw-painter' ),
      'section' => 'vw_painter_responsive_media'
    )));

    $wp_customize->add_setting( 'vw_painter_resp_slider_hide_show',array(
      'default' => 0,
      'transport' => 'refresh',
      'sanitize_callback' => 'vw_painter_switch_sanitization'
    ));  
    $wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_resp_slider_hide_show',array(
      'label' => esc_html__( 'Show / Hide Slider','vw-painter' ),
      'section' => 'vw_painter_responsive_media'
    )));

    $wp_customize->add_setting( 'vw_painter_sidebar_hide_show',array(
      'default' => 1,
      'transport' => 'refresh',
      'sanitize_callback' => 'vw_painter_switch_sanitization'
    ));  
    $wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_sidebar_hide_show',array(
      'label' => esc_html__( 'Show / Hide Sidebar','vw-painter' ),
      'section' => 'vw_painter_responsive_media'
    )));

    $wp_customize->add_setting( 'vw_painter_resp_scroll_top_hide_show',array(
      'default' => 1,
      'transport' => 'refresh',
      'sanitize_callback' => 'vw_painter_switch_sanitization'
    ));  
    $wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_resp_scroll_top_hide_show',array(
      'label' => esc_html__( 'Show / Hide Scroll To Top','vw-painter' ),
      'section' => 'vw_painter_responsive_media'
    )));

     $wp_customize->add_setting('vw_painter_resp_menu_toggle_btn_bg_color', array(
		'default'           => '',
		'sanitize_callback' => 'sanitize_hex_color',
	));
	$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'vw_painter_resp_menu_toggle_btn_bg_color', array(
		'label'    => __('Toggle Button Bg Color', 'vw-painter'),
		'section'  => 'vw_painter_responsive_media',
	)));

    $wp_customize->add_setting('vw_painter_res_open_menu_icon',array(
		'default'	=> 'fas fa-bars',
		'sanitize_callback'	=> 'sanitize_text_field'
	));	
	$wp_customize->add_control(new VW_Painter_Fontawesome_Icon_Chooser(
        $wp_customize,'vw_painter_res_open_menu_icon',array(
		'label'	=> __('Add Open Menu Icon','vw-painter'),
		'transport' => 'refresh',
		'section'	=> 'vw_painter_responsive_media',
		'setting'	=> 'vw_painter_res_open_menu_icon',
		'type'		=> 'icon'
	)));

	$wp_customize->add_setting('vw_painter_res_close_menus_icon',array(
		'default'	=> 'fas fa-times',
		'sanitize_callback'	=> 'sanitize_text_field'
	));	
	$wp_customize->add_control(new VW_Painter_Fontawesome_Icon_Chooser(
        $wp_customize,'vw_painter_res_close_menus_icon',array(
		'label'	=> __('Add Close Menu Icon','vw-painter'),
		'transport' => 'refresh',
		'section'	=> 'vw_painter_responsive_media',
		'setting'	=> 'vw_painter_res_close_menus_icon',
		'type'		=> 'icon'
	)));

    //Woocommerce settings
	$wp_customize->add_section('vw_painter_woocommerce_section', array(
		'title'    => __('WooCommerce Layout', 'vw-painter'),
		'priority' => null,
		'panel'    => 'woocommerce',
	));

	//Selective Refresh
	$wp_customize->selective_refresh->add_partial( 'vw_painter_woocommerce_shop_page_sidebar', array( 'selector' => '.post-type-archive-product #sidebar', 
		'render_callback' => 'vw_painter_customize_partial_vw_painter_woocommerce_shop_page_sidebar', ) );

    //Woocommerce Shop Page Sidebar
	$wp_customize->add_setting( 'vw_painter_woocommerce_shop_page_sidebar',array(
		'default' => 1,
		'transport' => 'refresh',
		'sanitize_callback' => 'vw_painter_switch_sanitization'
    ) );
    $wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_woocommerce_shop_page_sidebar',array(
		'label' => esc_html__( 'Shop Page Sidebar','vw-painter' ),
		'section' => 'vw_painter_woocommerce_section'
    )));

    $wp_customize->add_setting('vw_painter_shop_page_layout',array(
        'default' => 'Right Sidebar',
        'sanitize_callback' => 'vw_painter_sanitize_choices'
	));
	$wp_customize->add_control('vw_painter_shop_page_layout',array(
        'type' => 'select',
        'label' => __('Shop Page Sidebar Layout','vw-painter'),
        'section' => 'vw_painter_woocommerce_section',
        'choices' => array(
            'Left Sidebar' => __('Left Sidebar','vw-painter'),
            'Right Sidebar' => __('Right Sidebar','vw-painter'),
        ),
	) );

    //Selective Refresh
	$wp_customize->selective_refresh->add_partial( 'vw_painter_woocommerce_single_product_page_sidebar', array( 'selector' => '.single-product #sidebar', 
		'render_callback' => 'vw_painter_customize_partial_vw_painter_woocommerce_single_product_page_sidebar', ) );

    //Woocommerce Single Product page Sidebar
	$wp_customize->add_setting( 'vw_painter_woocommerce_single_product_page_sidebar',array(
		'default' => 1,
		'transport' => 'refresh',
		'sanitize_callback' => 'vw_painter_switch_sanitization'
    ) );
    $wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_woocommerce_single_product_page_sidebar',array(
		'label' => esc_html__( 'Single Product Sidebar','vw-painter' ),
		'section' => 'vw_painter_woocommerce_section'
    )));

    $wp_customize->add_setting('vw_painter_single_product_layout',array(
        'default' => 'Right Sidebar',
        'sanitize_callback' => 'vw_painter_sanitize_choices'
	));
	$wp_customize->add_control('vw_painter_single_product_layout',array(
        'type' => 'select',
        'label' => __('Single Product Sidebar Layout','vw-painter'),
        'section' => 'vw_painter_woocommerce_section',
        'choices' => array(
            'Left Sidebar' => __('Left Sidebar','vw-painter'),
            'Right Sidebar' => __('Right Sidebar','vw-painter'),
        ),
	) );

    //Products per page
    $wp_customize->add_setting('vw_painter_products_per_page',array(
		'default'=> '9',
		'sanitize_callback'	=> 'vw_painter_sanitize_float'
	));
	$wp_customize->add_control('vw_painter_products_per_page',array(
		'label'	=> __('Products Per Page','vw-painter'),
		'description' => __('Display on shop page','vw-painter'),
		'input_attrs' => array(
            'step'             => 1,
			'min'              => 0,
			'max'              => 50,
        ),
		'section'=> 'vw_painter_woocommerce_section',
		'type'=> 'number',
	));

    //Products per row
    $wp_customize->add_setting('vw_painter_products_per_row',array(
		'default'=> '3',
		'sanitize_callback'	=> 'vw_painter_sanitize_choices'
	));
	$wp_customize->add_control('vw_painter_products_per_row',array(
		'label'	=> __('Products Per Row','vw-painter'),
		'description' => __('Display on shop page','vw-painter'),
		'choices' => array(
            '2' => '2',
			'3' => '3',
			'4' => '4',
        ),
		'section'=> 'vw_painter_woocommerce_section',
		'type'=> 'select',
	));

	//Products padding
	$wp_customize->add_setting('vw_painter_products_padding_top_bottom',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_products_padding_top_bottom',array(
		'label'	=> __('Products Padding Top Bottom','vw-painter'),
		'description'	=> __('Enter a value in pixels. Example:20px','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( '10px', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_woocommerce_section',
		'type'=> 'text'
	));

	$wp_customize->add_setting('vw_painter_products_padding_left_right',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_products_padding_left_right',array(
		'label'	=> __('Products Padding Left Right','vw-painter'),
		'description'	=> __('Enter a value in pixels. Example:20px','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( '10px', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_woocommerce_section',
		'type'=> 'text'
	));

	//Products box shadow
	$wp_customize->add_setting( 'vw_painter_products_box_shadow', array(
		'default'              => '',
		'transport' 		   => 'refresh',
		'sanitize_callback'    => 'vw_painter_sanitize_number_range'
	) );
	$wp_customize->add_control( 'vw_painter_products_box_shadow', array(
		'label'       => esc_html__( 'Products Box Shadow','vw-painter' ),
		'section'     => 'vw_painter_woocommerce_section',
		'type'        => 'range',
		'input_attrs' => array(
			'step'             => 1,
			'min'              => 1,
			'max'              => 50,
		),
	) );

	//Products border radius
    $wp_customize->add_setting( 'vw_painter_products_border_radius', array(
		'default'              => '0',
		'transport' 		   => 'refresh',
		'sanitize_callback'    => 'vw_painter_sanitize_number_range'
	) );
	$wp_customize->add_control( 'vw_painter_products_border_radius', array(
		'label'       => esc_html__( 'Products Border Radius','vw-painter' ),
		'section'     => 'vw_painter_woocommerce_section',
		'type'        => 'range',
		'input_attrs' => array(
			'step'             => 1,
			'min'              => 1,
			'max'              => 50,
		),
	) );

	$wp_customize->add_setting('vw_painter_products_btn_padding_top_bottom',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_products_btn_padding_top_bottom',array(
		'label'	=> __('Products Button Padding Top Bottom','vw-painter'),
		'description'	=> __('Enter a value in pixels. Example:20px','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( '10px', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_woocommerce_section',
		'type'=> 'text'
	));

	$wp_customize->add_setting('vw_painter_products_btn_padding_left_right',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_products_btn_padding_left_right',array(
		'label'	=> __('Products Button Padding Left Right','vw-painter'),
		'description'	=> __('Enter a value in pixels. Example:20px','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( '10px', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_woocommerce_section',
		'type'=> 'text'
	));

	$wp_customize->add_setting( 'vw_painter_products_button_border_radius', array(
		'default'              => '0',
		'transport' 		   => 'refresh',
		'sanitize_callback'    => 'vw_painter_sanitize_number_range'
	) );
	$wp_customize->add_control( 'vw_painter_products_button_border_radius', array(
		'label'       => esc_html__( 'Products Button Border Radius','vw-painter' ),
		'section'     => 'vw_painter_woocommerce_section',
		'type'        => 'range',
		'input_attrs' => array(
			'step'             => 1,
			'min'              => 1,
			'max'              => 50,
		),
	) );

	//Products Sale Badge
	$wp_customize->add_setting('vw_painter_woocommerce_sale_position',array(
        'default' => 'right',
        'sanitize_callback' => 'vw_painter_sanitize_choices'
	));
	$wp_customize->add_control('vw_painter_woocommerce_sale_position',array(
        'type' => 'select',
        'label' => __('Sale Badge Position','vw-painter'),
        'section' => 'vw_painter_woocommerce_section',
        'choices' => array(
            'left' => __('Left','vw-painter'),
            'right' => __('Right','vw-painter'),
        ),
	) );

	$wp_customize->add_setting('vw_painter_woocommerce_sale_font_size',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_woocommerce_sale_font_size',array(
		'label'	=> __('Sale Font Size','vw-painter'),
		'description'	=> __('Enter a value in pixels. Example:20px','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( '10px', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_woocommerce_section',
		'type'=> 'text'
	));

	$wp_customize->add_setting('vw_painter_woocommerce_sale_padding_top_bottom',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_woocommerce_sale_padding_top_bottom',array(
		'label'	=> __('Sale Padding Top Bottom','vw-painter'),
		'description'	=> __('Enter a value in pixels. Example:20px','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( '10px', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_woocommerce_section',
		'type'=> 'text'
	));

	$wp_customize->add_setting('vw_painter_woocommerce_sale_padding_left_right',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('vw_painter_woocommerce_sale_padding_left_right',array(
		'label'	=> __('Sale Padding Left Right','vw-painter'),
		'description'	=> __('Enter a value in pixels. Example:20px','vw-painter'),
		'input_attrs' => array(
            'placeholder' => __( '10px', 'vw-painter' ),
        ),
		'section'=> 'vw_painter_woocommerce_section',
		'type'=> 'text'
	));

	$wp_customize->add_setting( 'vw_painter_woocommerce_sale_border_radius', array(
		'default'              => '100',
		'transport' 		   => 'refresh',
		'sanitize_callback'    => 'vw_painter_sanitize_number_range'
	) );
	$wp_customize->add_control( 'vw_painter_woocommerce_sale_border_radius', array(
		'label'       => esc_html__( 'Sale Border Radius','vw-painter' ),
		'section'     => 'vw_painter_woocommerce_section',
		'type'        => 'range',
		'input_attrs' => array(
			'step'             => 1,
			'min'              => 1,
			'max'              => 50,
		),
	) );

    //Related Products
	$wp_customize->add_setting( 'vw_painter_related_product_show_hide',array(
        'default' => 1,
        'transport' => 'refresh',
        'sanitize_callback' => 'vw_painter_switch_sanitization'
    ) );
    $wp_customize->add_control( new VW_Painter_Toggle_Switch_Custom_Control( $wp_customize, 'vw_painter_related_product_show_hide',array(
        'label' => esc_html__( 'Related product','vw-painter' ),
        'section' => 'vw_painter_woocommerce_section'
    )));

    // Has to be at the top
	$wp_customize->register_panel_type( 'VW_Painter_WP_Customize_Panel' );
	$wp_customize->register_section_type( 'VW_Painter_WP_Customize_Section' );
}

add_action( 'customize_register', 'vw_painter_customize_register' );

load_template( trailingslashit( get_template_directory() ) . '/inc/logo/logo-resizer.php' );

if ( class_exists( 'WP_Customize_Panel' ) ) {
  	class VW_Painter_WP_Customize_Panel extends WP_Customize_Panel {
	    public $panel;
	    public $type = 'vw_painter_panel';
	    public function json() {

	      $array = wp_array_slice_assoc( (array) $this, array( 'id', 'description', 'priority', 'type', 'panel', ) );
	      $array['title'] = html_entity_decode( $this->title, ENT_QUOTES, get_bloginfo( 'charset' ) );
	      $array['content'] = $this->get_content();
	      $array['active'] = $this->active();
	      $array['instanceNumber'] = $this->instance_number;
	      return $array;
    	}
  	}
}

if ( class_exists( 'WP_Customize_Section' ) ) {
  	class VW_Painter_WP_Customize_Section extends WP_Customize_Section {
	    public $section;
	    public $type = 'vw_painter_section';
	    public function json() {

	      $array = wp_array_slice_assoc( (array) $this, array( 'id', 'description', 'priority', 'panel', 'type', 'description_hidden', 'section', ) );
	      $array['title'] = html_entity_decode( $this->title, ENT_QUOTES, get_bloginfo( 'charset' ) );
	      $array['content'] = $this->get_content();
	      $array['active'] = $this->active();
	      $array['instanceNumber'] = $this->instance_number;

	      if ( $this->panel ) {
	        $array['customizeAction'] = sprintf( 'Customizing &#9656; %s', esc_html( $this->manager->get_panel( $this->panel )->title ) );
	      } else {
	        $array['customizeAction'] = 'Customizing';
	      }
	      return $array;
    	}
 	}
}

// Enqueue our scripts and styles
function vw_painter_customize_controls_scripts() {
  wp_enqueue_script( 'customizer-controls', get_theme_file_uri( '/js/customizer-controls.js' ), array(), '1.0', true );
}
add_action( 'customize_controls_enqueue_scripts', 'vw_painter_customize_controls_scripts' );

/**
 * Singleton class for handling the theme's customizer integration.
 *
 * @since  1.0.0
 * @access public
 */
final class VW_Painter_Customize {

	/**
	 * Returns the instance.
	 *
	 * @since  1.0.0
	 * @access public
	 * @return object
	 */
	public static function get_instance() {

		static $instance = null;

		if ( is_null( $instance ) ) {
			$instance = new self;
			$instance->setup_actions();
		}

		return $instance;
	}

	/**
	 * Constructor method.
	 *
	 * @since  1.0.0
	 * @access private
	 * @return void
	 */
	private function __construct() {}

	/**
	 * Sets up initial actions.
	 *
	 * @since  1.0.0
	 * @access private
	 * @return void
	 */
	private function setup_actions() {

		// Register panels, sections, settings, controls, and partials.
		add_action( 'customize_register', array( $this, 'sections' ) );

		// Register scripts and styles for the controls.
		add_action( 'customize_controls_enqueue_scripts', array( $this, 'enqueue_control_scripts' ), 0 );
	}

	/**
	 * Sets up the customizer sections.
	 *
	 * @since  1.0.0
	 * @access public
	 * @param  object  $manager
	 * @return void
	 */
	public function sections( $manager ) {

		// Load custom sections.
		load_template( trailingslashit( get_template_directory() ) . '/inc/section-pro.php' );

		// Register custom section types.
		$manager->register_section_type( 'VW_Painter_Customize_Section_Pro' );

		// Register sections.
		$manager->add_section(new VW_Painter_Customize_Section_Pro($manager,'vw_painter_upgrade_pro_link',array(
			'priority'   => 1,
			'title'    => esc_html__( 'Painter Pro Theme', 'vw-painter' ),
			'pro_text' => esc_html__( 'UPGRADE PRO', 'vw-painter' ),
			'pro_url'  => esc_url('https://www.vwthemes.com/themes/painter-wordpress-theme/'),
		)));

		// Register sections.
		$manager->add_section(new VW_Painter_Customize_Section_Pro($manager,'vw_painter_get_started_link',array(
			'priority'   => 1,
			'title'    => esc_html__( 'DOCUMENTATION', 'vw-painter' ),
			'pro_text' => esc_html__( 'DOCS', 'vw-painter' ),
			'pro_url'  => esc_url('https://www.vwthemesdemo.com/docs/free-vw-painter/')
		)));
	}

	/**
	 * Loads theme customizer CSS.
	 *
	 * @since  1.0.0
	 * @access public
	 * @return void
	 */
	public function enqueue_control_scripts() {

		wp_enqueue_script( 'vw-painter-customize-controls', trailingslashit( esc_url(get_template_directory_uri()) ) . '/js/customize-controls.js', array( 'customize-controls' ) );

		wp_enqueue_style( 'vw-painter-customize-controls', trailingslashit( esc_url(get_template_directory_uri()) ) . '/css/customize-controls.css' );
	}
}

// Doing this customizer thang!
VW_Painter_Customize::get_instance();