<?php
/**
 * Perfect Blog Theme Customizer
 *
 * @package perfect-blog
 */

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

function perfect_blog_customize_register( $wp_customize ) {	

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

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

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

	//add home page setting pannel
	$wp_customize->add_panel( 'perfect_blog_panel_id', array(
	    'priority' => 12,
	    'capability' => 'edit_theme_options',
	    'theme_supports' => '',
	    'title' => __( 'Theme Settings', 'perfect-blog' ),
	    'description' => __( 'Description of what this panel does.', 'perfect-blog' ),
	) );

	// font array
	$perfect_blog_font_array = array(
        '' => 'No Fonts',
        'Abril Fatface' => 'Abril Fatface',
        'Acme' => 'Acme',
        'Anton' => 'Anton',
        'Architects Daughter' => 'Architects Daughter',
        'Arimo' => 'Arimo',
        'Arsenal' => 'Arsenal', 
        'Arvo' => 'Arvo',
        'Alegreya' => 'Alegreya',
        'Alfa Slab One' => 'Alfa Slab One',
        'Averia Serif Libre' => 'Averia Serif Libre',
        'Bangers' => 'Bangers', 
        'Boogaloo' => 'Boogaloo',
        'Bad Script' => 'Bad Script',
        'Bitter' => 'Bitter',
        'Bree Serif' => 'Bree Serif',
        'BenchNine' => 'BenchNine', 
        'Cabin' => 'Cabin', 
        'Cardo' => 'Cardo',
        'Courgette' => 'Courgette',
        'Coming Soon' => 'Coming Soon',
        'Cherry Swash' => 'Cherry Swash',
        'Cormorant Garamond' => 'Cormorant Garamond',
        'Crimson Text' => 'Crimson Text',
        'Cuprum' => 'Cuprum', 
        'Cookie' => 'Cookie', 
        'Chewy' => 'Chewy', 
        'Days One' => 'Days One', 
        'Dosis' => 'Dosis',
        'Droid Sans' => 'Droid Sans',
        'Economica' => 'Economica',
        'Fredoka One' => 'Fredoka One',
        'Fjalla One' => 'Fjalla One',
        'Francois One' => 'Francois One',
        'Frank Ruhl Libre' => 'Frank Ruhl Libre',
        'Gloria Hallelujah' => 'Gloria Hallelujah',
        'Great Vibes' => 'Great Vibes',
        'Handlee' => 'Handlee', 
        'Hammersmith One' => 'Hammersmith One',
        'Inconsolata' => 'Inconsolata', 
        'Indie Flower' => 'Indie Flower', 
        'IM Fell English SC' => 'IM Fell English SC', 
        'Julius Sans One' => 'Julius Sans One',
        'Josefin Slab' => 'Josefin Slab', 
        'Josefin Sans' => 'Josefin Sans', 
        'Kanit' => 'Kanit', 
        'Lobster' => 'Lobster', 
        'Lato' => 'Lato',
        'Lora' => 'Lora', 
        'Libre Baskerville' =>'Libre Baskerville',
        'Lobster Two' => 'Lobster Two',
        'Merriweather' =>'Merriweather', 
        'Monda' => 'Monda',
        'Montserrat' => 'Montserrat',
        'Muli' => 'Muli', 
        'Marck Script' => 'Marck Script',
        'Noto Serif' => 'Noto Serif',
        'Noto Sans' => 'Noto Sans',
        'Open Sans' => 'Open Sans', 
        'Overpass' => 'Overpass',
        'Overpass Mono' => 'Overpass Mono',
        'Oxygen' => 'Oxygen', 
        'Orbitron' => 'Orbitron', 
        'Patua One' => 'Patua One', 
        'Pacifico' => 'Pacifico',
        'Padauk' => 'Padauk', 
        'Playball' => 'Playball',
        'Playfair Display' => 'Playfair Display', 
        'PT Sans' => 'PT Sans',
        'Philosopher' => 'Philosopher',
        'Permanent Marker' => 'Permanent Marker',
        'Poiret One' => 'Poiret One', 
        'Poppins' => 'Poppins',
        'Quicksand' => 'Quicksand', 
        'Quattrocento Sans' => 'Quattrocento Sans', 
        'Raleway' => 'Raleway', 
        'Rubik' => 'Rubik', 
        'Rokkitt' => 'Rokkitt', 
        'Roboto' => 'Roboto',
        'Roboto Condensed' => 'Roboto Condensed',
        'Russo One' => 'Russo One', 
        'Righteous' => 'Righteous', 
        'Slabo' => 'Slabo', 
        'Satisfy' => 'Satisfy',
        'Source Sans Pro' => 'Source Sans Pro', 
        'Shadows Into Light Two' =>'Shadows Into Light Two',
        'Shadows Into Light' => 'Shadows Into Light', 
        'Sacramento' => 'Sacramento', 
        'Shrikhand' => 'Shrikhand', 
        'Tangerine' => 'Tangerine',
        'Unica One' => 'Unica One',
        'Ubuntu' => 'Ubuntu', 
        'VT323' => 'VT323', 
        'Varela Round' => 'Varela Round', 
        'Vampiro One' => 'Vampiro One',
        'Vollkorn' => 'Vollkorn',
        'Volkhov' => 'Volkhov', 
        'Yanone Kaffeesatz' => 'Yanone Kaffeesatz'
    );

	//Typography
	$wp_customize->add_section( 'perfect_blog_typography', array(
    	'title'      => __( 'Typography', 'perfect-blog' ),
		'priority'   => 30,
		'panel' => 'perfect_blog_panel_id'
	) );

	$wp_customize->add_setting('perfect_blog_typography_premium_info',array(
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_typography_premium_info',array(
		'type'=> 'hidden',
		'description' => "<p>". esc_html__('Upgrade to premium for more features.','perfect-blog') ."</p><a target='_blank' href='". esc_url(PERFECT_BLOG_BUY_NOW) ." '>". esc_html__('Upgrade to Pro','perfect-blog') ."</a>",
		'section'=> 'perfect_blog_typography'
	));
	
	// This is Paragraph Color picker setting
	$wp_customize->add_setting( 'perfect_blog_paragraph_color', array(
		'default' => '',
		'sanitize_callback'	=> 'sanitize_hex_color'
	));
	$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'perfect_blog_paragraph_color', array(
		'label' => __('Paragraph Color', 'perfect-blog'),
		'section' => 'perfect_blog_typography',
		'settings' => 'perfect_blog_paragraph_color',
	)));

	//This is Paragraph FontFamily picker setting
	$wp_customize->add_setting('perfect_blog_paragraph_font_family',array(
	  'default' => '',
	  'capability' => 'edit_theme_options',
	  'sanitize_callback' => 'perfect_blog_sanitize_choices',
	));
	$wp_customize->add_control(
	    'perfect_blog_paragraph_font_family', array(
	    'section'  => 'perfect_blog_typography',
	    'label'    => __( 'Paragraph Fonts','perfect-blog'),
	    'type'     => 'select',
	    'choices'  => $perfect_blog_font_array,
	));

	$wp_customize->add_setting('perfect_blog_paragraph_font_size',array(
		'default'	=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_paragraph_font_size',array(
		'label'	=> __('Paragraph Font Size','perfect-blog'),
		'section'	=> 'perfect_blog_typography',
		'setting'	=> 'perfect_blog_paragraph_font_size',
		'type'	=> 'text'
	));

	// This is "a" Tag Color picker setting
	$wp_customize->add_setting( 'perfect_blog_atag_color', array(
		'default' => '',
		'sanitize_callback'	=> 'sanitize_hex_color'
	));
	$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'perfect_blog_atag_color', array(
		'label' => __('"a" Tag Color', 'perfect-blog'),
		'section' => 'perfect_blog_typography',
		'settings' => 'perfect_blog_atag_color',
	)));

	//This is "a" Tag FontFamily picker setting
	$wp_customize->add_setting('perfect_blog_atag_font_family',array(
	  'default' => '',
	  'capability' => 'edit_theme_options',
	  'sanitize_callback' => 'perfect_blog_sanitize_choices',
	));
	$wp_customize->add_control(
	    'perfect_blog_atag_font_family', array(
	    'section'  => 'perfect_blog_typography',
	    'label'    => __( '"a" Tag Fonts','perfect-blog'),
	    'type'     => 'select',
	    'choices'  => $perfect_blog_font_array,
	));

	// This is "a" Tag Color picker setting
	$wp_customize->add_setting( 'perfect_blog_li_color', array(
		'default' => '',
		'sanitize_callback'	=> 'sanitize_hex_color'
	));
	$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'perfect_blog_li_color', array(
		'label' => __('"li" Tag Color', 'perfect-blog'),
		'section' => 'perfect_blog_typography',
		'settings' => 'perfect_blog_li_color',
	)));

	//This is "li" Tag FontFamily picker setting
	$wp_customize->add_setting('perfect_blog_li_font_family',array(
	  'default' => '',
	  'capability' => 'edit_theme_options',
	  'sanitize_callback' => 'perfect_blog_sanitize_choices',
	));
	$wp_customize->add_control(
	    'perfect_blog_li_font_family', array(
	    'section'  => 'perfect_blog_typography',
	    'label'    => __( '"li" Tag Fonts','perfect-blog'),
	    'type'     => 'select',
	    'choices'  => $perfect_blog_font_array,
	));

	// This is H1 Color picker setting
	$wp_customize->add_setting( 'perfect_blog_h1_color', array(
		'default' => '',
		'sanitize_callback'	=> 'sanitize_hex_color'
	));
	$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'perfect_blog_h1_color', array(
		'label' => __('H1 Color', 'perfect-blog'),
		'section' => 'perfect_blog_typography',
		'settings' => 'perfect_blog_h1_color',
	)));

	//This is H1 FontFamily picker setting
	$wp_customize->add_setting('perfect_blog_h1_font_family',array(
	  	'default' => '',
	  	'capability' => 'edit_theme_options',
	  	'sanitize_callback' => 'perfect_blog_sanitize_choices',
	));
	$wp_customize->add_control(
	    'perfect_blog_h1_font_family', array(
	    'section'  => 'perfect_blog_typography',
	    'label'    => __( 'H1 Fonts','perfect-blog'),
	    'type'     => 'select',
	    'choices'  => $perfect_blog_font_array,
	));

	//This is H1 FontSize setting
	$wp_customize->add_setting('perfect_blog_h1_font_size',array(
		'default'	=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_h1_font_size',array(
		'label'	=> __('H1 Font Size','perfect-blog'),
		'section'	=> 'perfect_blog_typography',
		'setting'	=> 'perfect_blog_h1_font_size',
		'type'	=> 'text'
	));

	// This is H2 Color picker setting
	$wp_customize->add_setting( 'perfect_blog_h2_color', array(
		'default' => '',
		'sanitize_callback'	=> 'sanitize_hex_color'
	));
	$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'perfect_blog_h2_color', array(
		'label' => __('h2 Color', 'perfect-blog'),
		'section' => 'perfect_blog_typography',
		'settings' => 'perfect_blog_h2_color',
	)));

	//This is H2 FontFamily picker setting
	$wp_customize->add_setting('perfect_blog_h2_font_family',array(
	  'default' => '',
	  'capability' => 'edit_theme_options',
	  'sanitize_callback' => 'perfect_blog_sanitize_choices',
	));
	$wp_customize->add_control(
	    'perfect_blog_h2_font_family', array(
	    'section'  => 'perfect_blog_typography',
	    'label'    => __( 'h2 Fonts','perfect-blog'),
	    'type'     => 'select',
	    'choices'  => $perfect_blog_font_array,
	));

	//This is H2 FontSize setting
	$wp_customize->add_setting('perfect_blog_h2_font_size',array(
		'default'	=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_h2_font_size',array(
		'label'	=> __('h2 Font Size','perfect-blog'),
		'section'	=> 'perfect_blog_typography',
		'setting'	=> 'perfect_blog_h2_font_size',
		'type'	=> 'text'
	));

	// This is H3 Color picker setting
	$wp_customize->add_setting( 'perfect_blog_h3_color', array(
		'default' => '',
		'sanitize_callback'	=> 'sanitize_hex_color'
	));
	$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'perfect_blog_h3_color', array(
		'label' => __('h3 Color', 'perfect-blog'),
		'section' => 'perfect_blog_typography',
		'settings' => 'perfect_blog_h3_color',
	)));

	//This is H3 FontFamily picker setting
	$wp_customize->add_setting('perfect_blog_h3_font_family',array(
	  	'default' => '',
	  	'capability' => 'edit_theme_options',
	  	'sanitize_callback' => 'perfect_blog_sanitize_choices',
	));
	$wp_customize->add_control(
	    'perfect_blog_h3_font_family', array(
	    'section'  => 'perfect_blog_typography',
	    'label'    => __( 'h3 Fonts','perfect-blog'),
	    'type'     => 'select',
	    'choices'  => $perfect_blog_font_array,
	));

	//This is H3 FontSize setting
	$wp_customize->add_setting('perfect_blog_h3_font_size',array(
		'default'	=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_h3_font_size',array(
		'label'	=> __('h3 Font Size','perfect-blog'),
		'section'	=> 'perfect_blog_typography',
		'setting'	=> 'perfect_blog_h3_font_size',
		'type'	=> 'text'
	));

	// This is H4 Color picker setting
	$wp_customize->add_setting( 'perfect_blog_h4_color', array(
		'default' => '',
		'sanitize_callback'	=> 'sanitize_hex_color'
	));
	$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'perfect_blog_h4_color', array(
		'label' => __('h4 Color', 'perfect-blog'),
		'section' => 'perfect_blog_typography',
		'settings' => 'perfect_blog_h4_color',
	)));

	//This is H4 FontFamily picker setting
	$wp_customize->add_setting('perfect_blog_h4_font_family',array(
		'default' => '',
		'capability' => 'edit_theme_options',
		'sanitize_callback' => 'perfect_blog_sanitize_choices',
	));
	$wp_customize->add_control(
	    'perfect_blog_h4_font_family', array(
	    'section'  => 'perfect_blog_typography',
	    'label'    => __( 'h4 Fonts','perfect-blog'),
	    'type'     => 'select',
	    'choices'  => $perfect_blog_font_array,
	));

	//This is H4 FontSize setting
	$wp_customize->add_setting('perfect_blog_h4_font_size',array(
		'default'	=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_h4_font_size',array(
		'label'	=> __('h4 Font Size','perfect-blog'),
		'section'	=> 'perfect_blog_typography',
		'setting'	=> 'perfect_blog_h4_font_size',
		'type'	=> 'text'
	));

	// This is H5 Color picker setting
	$wp_customize->add_setting( 'perfect_blog_h5_color', array(
		'default' => '',
		'sanitize_callback'	=> 'sanitize_hex_color'
	));
	$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'perfect_blog_h5_color', array(
		'label' => __('h5 Color', 'perfect-blog'),
		'section' => 'perfect_blog_typography',
		'settings' => 'perfect_blog_h5_color',
	)));

	//This is H5 FontFamily picker setting
	$wp_customize->add_setting('perfect_blog_h5_font_family',array(
	  	'default' => '',
	  	'capability' => 'edit_theme_options',
	  	'sanitize_callback' => 'perfect_blog_sanitize_choices',
	));
	$wp_customize->add_control(
	    'perfect_blog_h5_font_family', array(
	    'section'  => 'perfect_blog_typography',
	    'label'    => __( 'h5 Fonts','perfect-blog'),
	    'type'     => 'select',
	    'choices'  => $perfect_blog_font_array,
	));

	//This is H5 FontSize setting
	$wp_customize->add_setting('perfect_blog_h5_font_size',array(
		'default'	=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_h5_font_size',array(
		'label'	=> __('h5 Font Size','perfect-blog'),
		'section'	=> 'perfect_blog_typography',
		'setting'	=> 'perfect_blog_h5_font_size',
		'type'	=> 'text'
	));

	// This is H6 Color picker setting
	$wp_customize->add_setting( 'perfect_blog_h6_color', array(
		'default' => '',
		'sanitize_callback'	=> 'sanitize_hex_color'
	));
	$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'perfect_blog_h6_color', array(
		'label' => __('h6 Color', 'perfect-blog'),
		'section' => 'perfect_blog_typography',
		'settings' => 'perfect_blog_h6_color',
	)));

	//This is H6 FontFamily picker setting
	$wp_customize->add_setting('perfect_blog_h6_font_family',array(
	  	'default' => '',
	  	'capability' => 'edit_theme_options',
	  	'sanitize_callback' => 'perfect_blog_sanitize_choices',
	));
	$wp_customize->add_control(
	    'perfect_blog_h6_font_family', array(
	    'section'  => 'perfect_blog_typography',
	    'label'    => __( 'h6 Fonts','perfect-blog'),
	    'type'     => 'select',
	    'choices'  => $perfect_blog_font_array,
	));

	//This is H6 FontSize setting
	$wp_customize->add_setting('perfect_blog_h6_font_size',array(
		'default'	=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_h6_font_size',array(
		'label'	=> __('h6 Font Size','perfect-blog'),
		'section'	=> 'perfect_blog_typography',
		'setting'	=> 'perfect_blog_h6_font_size',
		'type'	=> 'text'
	));

	$wp_customize->add_setting('perfect_blog_background_skin_mode',array(
        'default' => 'Transparent Background',
	  	'sanitize_callback' => 'perfect_blog_sanitize_choices',
	));
	$wp_customize->add_control('perfect_blog_background_skin_mode',array(
        'type' => 'select',
        'label' => __('Background Type','perfect-blog'),
        'section' => 'background_image',
        'choices' => array(
            'With Background' => __('With Background','perfect-blog'),
            'Transparent Background' => __('Transparent Background','perfect-blog'),
        ),
	) );

	// woocommerce section
	$wp_customize->add_section('perfect_blog_woocommerce_settings', array(
		'title'    => __('WooCommerce Settings', 'perfect-blog'),
		'priority' => null,
		'panel'    => 'woocommerce',
	));

    $wp_customize->add_setting( 'perfect_blog_shop_page_sidebar',array(
		'default' => false,
		'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ) );
    $wp_customize->add_control('perfect_blog_shop_page_sidebar',array(
    	'type' => 'checkbox',
       	'label' => __('Show / Hide Woocommerce Page Sidebar','perfect-blog'),
		'section' => 'perfect_blog_woocommerce_settings'
    ));

    // shop page sidebar alignment
    $wp_customize->add_setting('perfect_blog_shop_page_layout', array(
		'default'           => 'Right Sidebar',
		'sanitize_callback' => 'perfect_blog_sanitize_choices',
	));
	$wp_customize->add_control('perfect_blog_shop_page_layout',array(
		'type'           => 'radio',
		'label'          => __('Shop Page Layout', 'perfect-blog'),
		'section'        => 'perfect_blog_woocommerce_settings',
		'choices'        => array(
			'Left Sidebar'  => __('Left Sidebar', 'perfect-blog'),
			'Right Sidebar' => __('Right Sidebar', 'perfect-blog'),
		),
	));

	$wp_customize->add_setting( 'perfect_blog_wocommerce_single_page_sidebar',array(
		'default' => false,
		'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ) );
    $wp_customize->add_control('perfect_blog_wocommerce_single_page_sidebar',array(
    	'type' => 'checkbox',
       	'label' => __('Show / Hide Single Product Page Sidebar','perfect-blog'),
		'section' => 'perfect_blog_woocommerce_settings'
    ));

    // single product page sidebar alignment
    $wp_customize->add_setting('perfect_blog_single_product_page_layout', array(
		'default'           => 'Right Sidebar',
		'sanitize_callback' => 'perfect_blog_sanitize_choices',
	));
	$wp_customize->add_control('perfect_blog_single_product_page_layout',array(
		'type'           => 'radio',
		'label'          => __('Single Product Page Layout', 'perfect-blog'),
		'section'        => 'perfect_blog_woocommerce_settings',
		'choices'        => array(
			'Left Sidebar'  => __('Left Sidebar', 'perfect-blog'),
			'Right Sidebar' => __('Right Sidebar', 'perfect-blog'),
		),
	));

	$wp_customize->add_setting('perfect_blog_show_related_products',array(
       'default' => true,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
   $wp_customize->add_control('perfect_blog_show_related_products',array(
       'type' => 'checkbox',
       'label' => __('Show / Hide Related Product','perfect-blog'),
       'section' => 'perfect_blog_woocommerce_settings',
    ));

	$wp_customize->add_setting('perfect_blog_show_wooproducts_border',array(
       'default' => true,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
   $wp_customize->add_control('perfect_blog_show_wooproducts_border',array(
       'type' => 'checkbox',
       'label' => __('Show / Hide Product Border','perfect-blog'),
       'section' => 'perfect_blog_woocommerce_settings',
    ));

   $wp_customize->add_setting( 'perfect_blog_wooproducts_per_columns' , array(
		'default'           => 4,
	  	'sanitize_callback' => 'perfect_blog_sanitize_choices',
	) );
	$wp_customize->add_control( 'perfect_blog_wooproducts_per_columns', array(
		'label'    => __( 'Display Product Per Columns', 'perfect-blog' ),
		'section'  => 'perfect_blog_woocommerce_settings',
		'type'     => 'select',
		'choices'  => array(
			'2' => '2',
			'3' => '3',
			'4' => '4',
			'5' => '5',
		),
	)  );

	$wp_customize->add_setting('perfect_blog_wooproducts_per_page',array(
		'default'	=> 9,
		'sanitize_callback'	=> 'perfect_blog_sanitize_float',
	));	
	$wp_customize->add_control('perfect_blog_wooproducts_per_page',array(
		'label'	=> __('Display Product Per Page','perfect-blog'),
		'section'	=> 'perfect_blog_woocommerce_settings',
		'type'		=> 'number'
	));

	$wp_customize->add_setting( 'perfect_blog_top_bottom_wooproducts_padding',array(
		'default' => 10,
		'sanitize_callback'	=> 'perfect_blog_sanitize_float',
	));
	$wp_customize->add_control( 'perfect_blog_top_bottom_wooproducts_padding',	array(
		'label' => esc_html__( 'Top Bottom Product Padding','perfect-blog' ),
		'section' => 'perfect_blog_woocommerce_settings',
		'input_attrs' => array(
			'min' => 0,
			'max' => 50,
			'step' => 1,
		),
		'type'	=> 'number'
	));

	$wp_customize->add_setting( 'perfect_blog_left_right_wooproducts_padding',array(
		'default' => 10,
		'sanitize_callback'	=> 'perfect_blog_sanitize_float',
	));
	$wp_customize->add_control( 'perfect_blog_left_right_wooproducts_padding',	array(
		'label' => esc_html__( 'Right Left Product Padding','perfect-blog' ),
		'section' => 'perfect_blog_woocommerce_settings',
		'input_attrs' => array(
			'min' => 0,
			'max' => 50,
			'step' => 1,
		),
		'type'		=> 'number'
	));

	$wp_customize->add_setting( 'perfect_blog_wooproducts_border_radius',array(
		'default' => 0,
		'sanitize_callback'    => 'perfect_blog_sanitize_number_range',
	));
	$wp_customize->add_control('perfect_blog_wooproducts_border_radius',array(
		'label' => esc_html__( 'Product Border Radius','perfect-blog' ),
		'section' => 'perfect_blog_woocommerce_settings',
		'input_attrs' => array(
			'min' => 0,
			'max' => 50,
			'step' => 1,
		),
		'type'		=> 'range'
	));

	$wp_customize->add_setting( 'perfect_blog_wooproducts_box_shadow',array(
		'default' => 0,
		'sanitize_callback'    => 'perfect_blog_sanitize_number_range',
	));
	$wp_customize->add_control('perfect_blog_wooproducts_box_shadow',array(
		'label' => esc_html__( 'Product Box Shadow','perfect-blog' ),
		'section' => 'perfect_blog_woocommerce_settings',
		'input_attrs' => array(
			'min' => 0,
			'max' => 50,
			'step' => 1,
		),
		'type'		=> 'range'
	));

	$wp_customize->add_setting('perfect_blog_products_navigation',array(
       'default' => 'Yes',
       'sanitize_callback'	=> 'perfect_blog_sanitize_choices'
    ));
    $wp_customize->add_control('perfect_blog_products_navigation',array(
       'type' => 'radio',
       'label' => __('Woocommerce Products Navigation','perfect-blog'),
       'choices' => array(
            'Yes' => __('Yes','perfect-blog'),
            'No' => __('No','perfect-blog'),
        ),
       'section' => 'perfect_blog_woocommerce_settings',
    ));

	$wp_customize->add_setting( 'perfect_blog_top_bottom_product_button_padding',array(
		'default' => 10,
		'sanitize_callback'	=> 'perfect_blog_sanitize_float',
	));
	$wp_customize->add_control('perfect_blog_top_bottom_product_button_padding',	array(
		'label' => esc_html__( 'Product Button Top Bottom Padding','perfect-blog' ),
		'section' => 'perfect_blog_woocommerce_settings',
		'input_attrs' => array(
			'min' => 0,
			'max' => 50,
			'step' => 1,
		),
		'type'		=> 'number',

	));

	$wp_customize->add_setting( 'perfect_blog_left_right_product_button_padding',array(
		'default' => 16,
		'sanitize_callback'	=> 'perfect_blog_sanitize_float',
	));
	$wp_customize->add_control('perfect_blog_left_right_product_button_padding',array(
		'label' => esc_html__( 'Product Button Right Left Padding','perfect-blog' ),
		'section' => 'perfect_blog_woocommerce_settings',
		'type'		=> 'number',
		'input_attrs' => array(
			'min' => 0,
			'max' => 50,
			'step' => 1,
		),
	));

	$wp_customize->add_setting( 'perfect_blog_product_button_border_radius',array(
		'default' => 0,
		'sanitize_callback'    => 'perfect_blog_sanitize_number_range',
	));
	$wp_customize->add_control('perfect_blog_product_button_border_radius',array(
		'label' => esc_html__( 'Product Button Border Radius','perfect-blog' ),
		'section' => 'perfect_blog_woocommerce_settings',
		'type'		=> 'range',
		'input_attrs' => array(
			'min' => 0,
			'max' => 50,
			'step' => 1,
		),
	));

	$wp_customize->add_setting('perfect_blog_align_product_sale',array(
        'default' => 'Right',
        'sanitize_callback' => 'perfect_blog_sanitize_choices'
	));
	$wp_customize->add_control('perfect_blog_align_product_sale',array(
        'type' => 'radio',
        'label' => __('Product Sale Button Alignment','perfect-blog'),
        'section' => 'perfect_blog_woocommerce_settings',
        'choices' => array(
            'Right' => __('Right','perfect-blog'),
            'Left' => __('Left','perfect-blog'),
        ),
	) );

	$wp_customize->add_setting( 'perfect_blog_border_radius_product_sale',array(
		'default' => 50,
		'sanitize_callback'	=> 'perfect_blog_sanitize_float',
	));
	$wp_customize->add_control('perfect_blog_border_radius_product_sale', array(
        'label'  => __('Product Sale Button Border Radius','perfect-blog'),
        'section'  => 'perfect_blog_woocommerce_settings',
        'type'        => 'number',
        'input_attrs' => array(
        	'step'=> 1,
            'min' => 0,
            'max' => 50,
        )
    ) );

	$wp_customize->add_setting('perfect_blog_product_sale_font_size',array(
		'default'=> 14,
		'sanitize_callback'	=> 'perfect_blog_sanitize_float'
	));
	$wp_customize->add_control('perfect_blog_product_sale_font_size',array(
		'label'	=> __('Product Sale Button Font Size','perfect-blog'),
		'input_attrs' => array(
            'step'             => 1,
			'min'              => 0,
			'max'              => 50,
        ),
		'section'=> 'perfect_blog_woocommerce_settings',
		'type'=> 'number'
	));

	// sale button padding
	$wp_customize->add_setting( 'perfect_blog_sale_padding_top',array(
		'default' => 0,
		'sanitize_callback'	=> 'perfect_blog_sanitize_float',
	));
	$wp_customize->add_control( 'perfect_blog_sale_padding_top',	array(
		'label' => esc_html__( ' Product Sale Top Bottom Padding','perfect-blog' ),
		'section' => 'perfect_blog_woocommerce_settings',
		'input_attrs' => array(
			'min' => 0,
			'max' => 50,
			'step' => 1,
		),
		'type'		=> 'number'
	));

	$wp_customize->add_setting( 'perfect_blog_sale_padding_left',array(
		'default' => 0,
		'sanitize_callback'	=> 'perfect_blog_sanitize_float',
	));
	$wp_customize->add_control( 'perfect_blog_sale_padding_left',	array(
		'label' => esc_html__( ' Product Sale Left Right Padding','perfect-blog' ),
		'section' => 'perfect_blog_woocommerce_settings',
		'input_attrs' => array(
			'min' => 0,
			'max' => 50,
			'step' => 1,
		),
		'type'		=> 'number'
	));

	// Add the Theme Color Option section.
	$wp_customize->add_section( 'perfect_blog_theme_color_option', array( 
		'panel' => 'perfect_blog_panel_id', 
		'title' => esc_html__( 'Theme Color Option', 'perfect-blog' ) )
	);

	$wp_customize->add_setting('perfect_blog_theme_color_premium_info',array(
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_theme_color_premium_info',array(
		'type'=> 'hidden',
		'description' => "<p>". esc_html__('Upgrade to premium for more features.','perfect-blog') ."</p><a target='_blank' href='". esc_url(PERFECT_BLOG_BUY_NOW) ." '>". esc_html__('Upgrade to Pro','perfect-blog') ."</a>",
		'section'=> 'perfect_blog_theme_color_option'
	));

  	$wp_customize->add_setting( 'perfect_blog_theme_color_first', array(
	    'default' => '',
	    'sanitize_callback' => 'sanitize_hex_color'
  	));
  	$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'perfect_blog_theme_color_first', array(
  		'label' => __('First Color Option', 'perfect-blog' ),
  		'description' => __('One can change complete theme color on just one click.', 'perfect-blog'),
	    'section' => 'perfect_blog_theme_color_option',
	    'settings' => 'perfect_blog_theme_color_first',
  	)));

  	$wp_customize->add_setting( 'perfect_blog_theme_color_second', array(
	    'default' => '',
	    'sanitize_callback' => 'sanitize_hex_color'
  	));
  	$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'perfect_blog_theme_color_second', array(
  		'label' =>  __('Second Color Option', 'perfect-blog' ),
  		'description' => __('One can change complete theme color on just one click.', 'perfect-blog'),
	    'section' => 'perfect_blog_theme_color_option',
	    'settings' => 'perfect_blog_theme_color_second',
  	)));

	//Top Bar
	$wp_customize->add_section('perfect_blog_topbar_header',array(
		'title'	=> __('Social Icon link','perfect-blog'),
		'description'	=> __('Add Top Bar Content here','perfect-blog'),
		'priority'	=> null,
		'panel' => 'perfect_blog_panel_id',
	) );

	$wp_customize->add_setting('perfect_blog_topbar_header_premium_info',array(
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_topbar_header_premium_info',array(
		'type'=> 'hidden',
		'description' => "<p>". esc_html__('Upgrade to premium for more features.','perfect-blog') ."</p><a target='_blank' href='". esc_url(PERFECT_BLOG_BUY_NOW) ." '>". esc_html__('Upgrade to Pro','perfect-blog') ."</a>",
		'section'=> 'perfect_blog_topbar_header'
	));

	$wp_customize->add_setting('perfect_blog_twitter_icon',array(
		'default'	=> 'fab fa-twitter',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control(new Perfect_Blog_Icon_Changer(
        $wp_customize,'perfect_blog_twitter_icon',array(
		'label'	=> __('Twitter Icon','perfect-blog'),
		'transport' => 'refresh',
		'section'	=> 'perfect_blog_topbar_header',
		'type'		=> 'icon'
	)));

	$wp_customize->add_setting('perfect_blog_twitter_url',array(
		'default'	=> '',
		'sanitize_callback'	=> 'esc_url_raw'
	) );
	$wp_customize->add_control('perfect_blog_twitter_url',array(
		'label'	=> __('Add Twitter link','perfect-blog'),
		'section'	=> 'perfect_blog_topbar_header',
		'setting'	=> 'perfect_blog_twitter_url',
		'type'	=> 'url'
	) );

	$wp_customize->add_setting('perfect_blog_facebook_icon',array(
		'default'	=> 'fab fa-facebook-f',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control(new Perfect_Blog_Icon_Changer(
        $wp_customize,'perfect_blog_facebook_icon',array(
		'label'	=> __('Facebook Icon','perfect-blog'),
		'transport' => 'refresh',
		'section'	=> 'perfect_blog_topbar_header',
		'type'		=> 'icon'
	)));

	$wp_customize->add_setting('perfect_blog_facebook_url',array(
		'default'	=> '',
		'sanitize_callback'	=> 'esc_url_raw'
	) );
	$wp_customize->add_control('perfect_blog_facebook_url',array(
		'label'	=> __('Add Facebook link','perfect-blog'),
		'section'	=> 'perfect_blog_topbar_header',
		'setting'	=> 'perfect_blog_facebook_url',
		'type'	=> 'url'
	) );

	$wp_customize->add_setting('perfect_blog_skipe_icon',array(
		'default'	=> 'fab fa-skype',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control(new Perfect_Blog_Icon_Changer(
        $wp_customize,'perfect_blog_skipe_icon',array(
		'label'	=> __('Skipe Icon','perfect-blog'),
		'transport' => 'refresh',
		'section'	=> 'perfect_blog_topbar_header',
		'type'		=> 'icon'
	)));

	$wp_customize->add_setting('perfect_blog_skipe_url',array(
		'default'	=> '',
		'sanitize_callback'	=> 'esc_url_raw'
	) );
	$wp_customize->add_control('perfect_blog_skipe_url',array(
		'label'	=> __('Add Skipe link','perfect-blog'),
		'section'	=> 'perfect_blog_topbar_header',
		'setting'	=> 'perfect_blog_skipe_url',
		'type'		=> 'url'
	) );

	$wp_customize->add_setting('perfect_blog_pint_icon',array(
		'default'	=> 'fab fa-pinterest-p',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control(new Perfect_Blog_Icon_Changer(
        $wp_customize,'perfect_blog_pint_icon',array(
		'label'	=> __('Pintrest Icon','perfect-blog'),
		'transport' => 'refresh',
		'section'	=> 'perfect_blog_topbar_header',
		'type'		=> 'icon'
	)));

	$wp_customize->add_setting('perfect_blog_pint_url',array(
		'default'	=> '',
		'sanitize_callback'	=> 'esc_url_raw'
	) );
	$wp_customize->add_control('perfect_blog_pint_url',array(
		'label'	=> __('Add Pintrest link','perfect-blog'),
		'section'	=> 'perfect_blog_topbar_header',
		'setting'	=> 'perfect_blog_pint_url',
		'type'	=> 'url'
	) );

	$wp_customize->add_setting('perfect_blog_insta_icon',array(
		'default'	=> 'fab fa-instagram',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control(new Perfect_Blog_Icon_Changer(
        $wp_customize,'perfect_blog_insta_icon',array(
		'label'	=> __('Instagram Icon','perfect-blog'),
		'transport' => 'refresh',
		'section'	=> 'perfect_blog_topbar_header',
		'type'		=> 'icon'
	)));

	$wp_customize->add_setting('perfect_blog_insta_url',array(
		'default'	=> '',
		'sanitize_callback'	=> 'esc_url_raw'
	) );
	$wp_customize->add_control('perfect_blog_insta_url',array(
		'label'	=> __('Add Instagram link','perfect-blog'),
		'section'	=> 'perfect_blog_topbar_header',
		'setting'	=> 'perfect_blog_insta_url',
		'type'	=> 'url'
	) );

	// Menu settings
	$wp_customize->add_section('perfect_blog_menu_settings',array(
		'title'	=> __('Menu Settings','perfect-blog'),
		'priority'	=> null,
		'panel' => 'perfect_blog_panel_id',
	));

	$wp_customize->add_setting('perfect_blog_menu_premium_info',array(
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_menu_premium_info',array(
		'type'=> 'hidden',
		'description' => "<p>". esc_html__('Upgrade to premium for more features.','perfect-blog') ."</p><a target='_blank' href='". esc_url(PERFECT_BLOG_BUY_NOW) ." '>". esc_html__('Upgrade to Pro','perfect-blog') ."</a>",
		'section'=> 'perfect_blog_menu_settings'
	));

	$wp_customize->add_setting('perfect_blog_text_tranform_menu',array(
		'default' => 'Uppercase',
		'sanitize_callback' => 'perfect_blog_sanitize_choices'
 	));
 	$wp_customize->add_control('perfect_blog_text_tranform_menu',array(
		'type' => 'radio',
		'label' => __('Menu Text Transform','perfect-blog'),
		'section' => 'perfect_blog_menu_settings',
		'choices' => array(
		   'Uppercase' => __('Uppercase','perfect-blog'),
		   'Lowercase' => __('Lowercase','perfect-blog'),
		   'Capitalize' => __('Capitalize','perfect-blog'),
		),
	) );

	$wp_customize->add_setting('perfect_blog_menus_font_size',array(
		'default'=> 12,
		'sanitize_callback'	=> 'perfect_blog_sanitize_float'
	));
	$wp_customize->add_control('perfect_blog_menus_font_size',array(
		'label'	=> __('Menus Font Size','perfect-blog'),
		'input_attrs' => array(
            'step'             => 1,
			'min'              => 0,
			'max'              => 50,
        ),
		'section'=> 'perfect_blog_menu_settings',
		'type'=> 'number'
	));

	$wp_customize->add_setting('perfect_blog_menu_weight',array(
		'default'=> '',
		'sanitize_callback'	=> 'perfect_blog_sanitize_choices',
	));
	$wp_customize->add_control('perfect_blog_menu_weight',array(
		'label'	=> __('Menus Font Weight','perfect-blog'),
		'section'=> 'perfect_blog_menu_settings',
		'type' => 'select',
		'choices' => array(
            '100' => __('100','perfect-blog'),
            '200' => __('200','perfect-blog'),
            '300' => __('300','perfect-blog'),
            '400' => __('400','perfect-blog'),
            '500' => __('500','perfect-blog'),
            '600' => __('600','perfect-blog'),
            '700' => __('700','perfect-blog'),
            '800' => __('800','perfect-blog'),
            '900' => __('900','perfect-blog'),
        ),
	));

	$wp_customize->add_setting('perfect_blog_menu_padding',array(
		'default'=> '',
		'sanitize_callback'	=> 'perfect_blog_sanitize_float',
	));
	$wp_customize->add_control('perfect_blog_menu_padding',array(
		'label'	=> __('Menus Padding','perfect-blog'),
		'section'=> 'perfect_blog_menu_settings',
		'input_attrs' => array(
            'step'             => 1,
			'min'              => 0,
			'max'              => 50,
        ),
		'type'=> 'number'
	));

	$wp_customize->add_setting('perfect_blog_menus_item_style',array(
		'default' => '',
		'transport' => 'refresh',
		'sanitize_callback' => 'perfect_blog_sanitize_choices'
	));
	$wp_customize->add_control('perfect_blog_menus_item_style',array(
		'type' => 'select',
		'section' => 'perfect_blog_menu_settings',
		'label' => __('Menu Hover Effect','perfect-blog'),
		'choices' => array(
			'None' => __('None','perfect-blog'),
			'Zoom In' => __('Zoom In','perfect-blog'),
		),
	) );

	$wp_customize->add_setting( 'perfect_blog_menu_color_settings', array(
	    'default' => '',
	    'sanitize_callback' => 'sanitize_hex_color'
  	));
  	$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'perfect_blog_menu_color_settings', array(
  		'label' => __('Menu Color', 'perfect-blog'),
	    'section' => 'perfect_blog_menu_settings',
	    'settings' => 'perfect_blog_menu_color_settings',
  	)));

  	$wp_customize->add_setting( 'perfect_blog_menu_hover_color_settings', array(
	    'default' => '',
	    'sanitize_callback' => 'sanitize_hex_color'
  	));
  	$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'perfect_blog_menu_hover_color_settings', array(
  		'label' => __('Menu Hover Color', 'perfect-blog'),
	    'section' => 'perfect_blog_menu_settings',
	    'settings' => 'perfect_blog_menu_hover_color_settings',
  	)));
 
  	$wp_customize->add_setting( 'perfect_blog_submenu_color_settings', array(
	    'default' => '',
	    'sanitize_callback' => 'sanitize_hex_color'
  	));
  	$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'perfect_blog_submenu_color_settings', array(
  		'label' => __('Sub-menu Color', 'perfect-blog'),
	    'section' => 'perfect_blog_menu_settings',
	    'settings' => 'perfect_blog_submenu_color_settings',
  	)));

  	$wp_customize->add_setting( 'perfect_blog_submenu_hover_color_settings', array(
	    'default' => '',
	    'sanitize_callback' => 'sanitize_hex_color'
  	));
  	$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'perfect_blog_submenu_hover_color_settings', array(
  		'label' => __('Sub-menu Hover Color', 'perfect-blog'),
	    'section' => 'perfect_blog_menu_settings',
	    'settings' => 'perfect_blog_submenu_hover_color_settings',
  	)));

	//home page slider
	$wp_customize->add_section( 'perfect_blog_slidersettings' , array(
    	'title'      => __( 'Slider Settings', 'perfect-blog' ),
		'priority'   => null,
		'panel' => 'perfect_blog_panel_id'
	) );

	$wp_customize->add_setting('perfect_blog_slider_premium_info',array(
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_slider_premium_info',array(
		'type'=> 'hidden',
		'label'	=> __('Premium Features','perfect-blog'),
		'description' => "<ul><li>". esc_html__('You can change how many slides there are.','perfect-blog') ."</li><li>". esc_html__('You can change the font family and the colours of headings and subheadings.','perfect-blog') ."</li><li>". esc_html__('And so on...','perfect-blog') ."</li></ul><a target='_blank' href='". esc_url(PERFECT_BLOG_BUY_NOW) ." '>". esc_html__('Upgrade to Pro','perfect-blog') ."</a>",
		'section'=> 'perfect_blog_slidersettings'
	));

	$wp_customize->add_setting('perfect_blog_slider_hide_show',array(
      'default' => true,
      'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
	));
	$wp_customize->add_control('perfect_blog_slider_hide_show',array(
	  'type' => 'checkbox',
	  'label' => __('Show / Hide slider','perfect-blog'),
	  'section' => 'perfect_blog_slidersettings',
	));

	$wp_customize->add_setting('perfect_blog_slider_title_Show_hide',array(
       'default' => true,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_slider_title_Show_hide',array(
       'type' => 'checkbox',
       'label' => __('Show / Hide Slider Title','perfect-blog'),
       'section' => 'perfect_blog_slidersettings'
    ));

    $wp_customize->add_setting('perfect_blog_slider_content_Show_hide',array(
       'default' => true,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_slider_content_Show_hide',array(
       'type' => 'checkbox',
       'label' => __('Show / Hide Slider Content','perfect-blog'),
       'section' => 'perfect_blog_slidersettings'
    ));

    $wp_customize->add_setting('perfect_blog_slider_button_show_hide',array(
       'default' => true,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_slider_button_show_hide',array(
       'type' => 'checkbox',
       'label' => __('Show / Hide Slider Button','perfect-blog'),
       'section' => 'perfect_blog_slidersettings'
    ));

	for ( $count = 1; $count <= 4; $count++ ) {
		// Add color scheme setting and control.
		$wp_customize->add_setting( 'perfect_blog_slidersettings_page' . $count, array(
			'default'           => '',
			'sanitize_callback' => 'perfect_blog_sanitize_dropdown_pages'
		) );
		$wp_customize->add_control( 'perfect_blog_slidersettings_page' . $count, array(
			'label'    => __( 'Select Slide Image Page', 'perfect-blog' ),
			'section'  => 'perfect_blog_slidersettings',
			'type'     => 'dropdown-pages'
		) );
	}

	$wp_customize->add_setting('perfect_blog_slider_overlay',array(
       'default' => true,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_slider_overlay',array(
       'type' => 'checkbox',
       'label' => __('Home Page Slider Overlay','perfect-blog'),
		'description'    => __('This option will add colors over the slider.','perfect-blog'),
       'section' => 'perfect_blog_slidersettings'
    ));

    $wp_customize->add_setting('perfect_blog_slider_image_overlay_color', array(
		'default'           => '',
		'sanitize_callback' => 'sanitize_hex_color',
	));
	$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'perfect_blog_slider_image_overlay_color', array(
		'label'    => __('Home Page Slider Overlay Color', 'perfect-blog'),
		'section'  => 'perfect_blog_slidersettings',
		'description'    => __('It will add the color overlay of the slider. To make it transparent, use the below option.','perfect-blog'),
		'settings' => 'perfect_blog_slider_image_overlay_color',
	)));

	//content layout
    $wp_customize->add_setting('perfect_blog_slider_content_alignment',array(
    'default' => 'Left',
        'sanitize_callback' => 'perfect_blog_sanitize_choices'
	));
	$wp_customize->add_control('perfect_blog_slider_content_alignment',array(
        'type' => 'radio',
        'label' => __('Slider Content Alignment','perfect-blog'),
        'section' => 'perfect_blog_slidersettings',
        'choices' => array(
            'Center' => __('Center','perfect-blog'),
            'Left' => __('Left','perfect-blog'),
            'Right' => __('Right','perfect-blog'),
        ),
	) );

    //Slider excerpt
	$wp_customize->add_setting( 'perfect_blog_slider_excerpt_length', array(
		'default'              => 30,
		'sanitize_callback'	=> 'absint',
	) );
	$wp_customize->add_control( 'perfect_blog_slider_excerpt_length', array(
		'label'       => esc_html__( 'Slider Excerpt length','perfect-blog' ),
		'section'     => 'perfect_blog_slidersettings',
		'type'        => 'number',
		'settings'    => 'perfect_blog_slider_excerpt_length',
		'input_attrs' => array(
			'step'             => 2,
			'min'              => 0,
			'max'              => 50,
		),
	) );

	//Opacity
	$wp_customize->add_setting('perfect_blog_slider_image_opacity',array(
      'default'              => 0.7,
	  'sanitize_callback' => 'perfect_blog_sanitize_choices',
	));
	$wp_customize->add_control( 'perfect_blog_slider_image_opacity', array(
	'label'       => esc_html__( 'Slider Image Opacity','perfect-blog' ),
	'section'     => 'perfect_blog_slidersettings',
	'type'        => 'select',
	'settings'    => 'perfect_blog_slider_image_opacity',
	'choices' => array(
		'0' =>  esc_attr__('0','perfect-blog'),
		'0.1' =>  esc_attr__('0.1','perfect-blog'),
		'0.2' =>  esc_attr__('0.2','perfect-blog'),
		'0.3' =>  esc_attr__('0.3','perfect-blog'),
		'0.4' =>  esc_attr__('0.4','perfect-blog'),
		'0.5' =>  esc_attr__('0.5','perfect-blog'),
		'0.6' =>  esc_attr__('0.6','perfect-blog'),
		'0.7' =>  esc_attr__('0.7','perfect-blog'),
		'0.8' =>  esc_attr__('0.8','perfect-blog'),
		'0.9' =>  esc_attr__('0.9','perfect-blog')
	),
	));

	$wp_customize->add_setting( 'perfect_blog_slider_speed_option',array(
		'default' => 3000,
		'sanitize_callback'    => 'perfect_blog_sanitize_number_range',
	));
	$wp_customize->add_control( 'perfect_blog_slider_speed_option',array(
		'label' => esc_html__( 'Slider Speed Option','perfect-blog' ),
		'section' => 'perfect_blog_slidersettings',
		'type'        => 'range',
		'input_attrs' => array(
			'min' => 1000,
			'max' => 5000,
			'step' => 500,
		),
	));

	$wp_customize->add_setting('perfect_blog_slider_image_height',array(
		'default'=> __('550','perfect-blog'),
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_slider_image_height',array(
		'label'	=> __('Slider Image Height','perfect-blog'),
		'section'=> 'perfect_blog_slidersettings',
		'type'=> 'text'
	));

	$wp_customize->add_setting('perfect_blog_slider_button',array(
		'default'=> __('Read More','perfect-blog'),
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_slider_button',array(
		'label'	=> __('Slider Button Text','perfect-blog'),
		'section'=> 'perfect_blog_slidersettings',
		'type'=> 'text'
	));

	$wp_customize->add_setting('perfect_blog_slider_button_url',array(
		'default'=> '',
		'sanitize_callback'	=> 'esc_url_raw'
	));
	$wp_customize->add_control('perfect_blog_slider_button_url',array(
		'label'	=> esc_html__('Add Button Link','perfect-blog'),
		'section'=> 'perfect_blog_slidersettings',
		'type'=> 'url'
	));

	$wp_customize->add_setting('perfect_blog_slider_btn_bg_color', array(
		'default'           => '#ffffff',
		'sanitize_callback' => 'sanitize_hex_color',
	));
	$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'perfect_blog_slider_btn_bg_color', array(
		'label'    => __('Slider Button Background Color', 'perfect-blog'),
		'section'  => 'perfect_blog_slidersettings',
	)));

	$wp_customize->add_setting('perfect_blog_top_bottom_slider_content_space',array(
		'default'=> '',
		'sanitize_callback'	=> 'perfect_blog_sanitize_float',
	));
	$wp_customize->add_control('perfect_blog_top_bottom_slider_content_space',array(
		'label'	=> __('Top Bottom Slider Content Space','perfect-blog'),
		'section'=> 'perfect_blog_slidersettings',
		'input_attrs' => array(
            'step'             => 1,
			'min'              => 0,
			'max'              => 50,
        ),
		'type'=> 'number'
	));

	$wp_customize->add_setting('perfect_blog_left_right_slider_content_space',array(
		'default'=> '',
		'sanitize_callback'	=> 'perfect_blog_sanitize_float',
	));
	$wp_customize->add_control('perfect_blog_left_right_slider_content_space',array(
		'label'	=> __('Left Right Slider Content Space','perfect-blog'),
		'section'=> 'perfect_blog_slidersettings',
		'input_attrs' => array(
            'step'             => 1,
			'min'              => 0,
			'max'              => 50,
        ),
		'type'=> 'number'
	));

	//Category section
  	$wp_customize->add_section('perfect_blog_cat_section',array(
	    'title' => __('Category post Section','perfect-blog'),
	    'description' => '',
	    'priority'  => null,
	    'panel' => 'perfect_blog_panel_id',
	)); 

	$wp_customize->add_setting('perfect_blog_category_sec_premium_info',array(
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_category_sec_premium_info',array(
		'type'=> 'hidden',
		'label'	=> __('Premium Features','perfect-blog'),
		'description' => "<ul><li>". esc_html__('Includes settings to set section title.','perfect-blog') ."</li><li>". esc_html__('Contains settings for the background colour.','perfect-blog') ."</li><li>". esc_html__('Contains options for background images.','perfect-blog') ."</li><li>". esc_html__('You can change the font family and colours of heading.','perfect-blog') ."</li><li>". esc_html__('And so on...','perfect-blog') ."</li></ul><a target='_blank' href='". esc_url(PERFECT_BLOG_BUY_NOW) ." '>". esc_html__('Upgrade to Pro','perfect-blog') ."</a>",
		'section'=> 'perfect_blog_cat_section'
	));

	$wp_customize->add_setting('perfect_blog_cat_title',array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	));	
	$wp_customize->add_control('perfect_blog_cat_title',array(
		'label'	=> __('Section Title','perfect-blog'),
		'section'=> 'perfect_blog_cat_section',
		'setting'=> 'perfect_blog_cat_title',
		'type'=> 'text'
	));

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

	$wp_customize->add_setting('perfect_blog_category',array(
	    'default' => 'select',
	  'sanitize_callback' => 'perfect_blog_sanitize_choices',
  	));
  	$wp_customize->add_control('perfect_blog_category',array(
	    'type'    => 'select',
	    'choices' => $cat_post,
	    'label' => __('Select Category to display Latest Post','perfect-blog'),
	    'section' => 'perfect_blog_cat_section',
	));

	//Blog Post
	$wp_customize->add_section('perfect_blog_blog_post',array(
		'title'	=> __('Blog Post Settings','perfect-blog'),
		'panel' => 'perfect_blog_panel_id',
	));	

	$wp_customize->add_setting('perfect_blog_blog_post_premium_info',array(
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_blog_post_premium_info',array(
		'type'=> 'hidden',
		'description' => "<p>". esc_html__('Upgrade to premium for more features.','perfect-blog') ."</p><a target='_blank' href='". esc_url(PERFECT_BLOG_BUY_NOW) ." '>". esc_html__('Upgrade to Pro','perfect-blog') ."</a>",
		'section'=> 'perfect_blog_blog_post'
	));

	$wp_customize->selective_refresh->add_partial( 'perfect_blog_date_hide', array(
		'selector' => '.our-services .page-box',
		'render_callback' => 'perfect_blog_customize_partial_perfect_blog_date_hide',
	));

	$wp_customize->add_setting('perfect_blog_date_hide',array(
       'default' => true,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_date_hide',array(
       'type' => 'checkbox',
       'label' => __('Post Date','perfect-blog'),
       'section' => 'perfect_blog_blog_post'
    ));

	$wp_customize->add_setting('perfect_blog_date_icon',array(
		'default'	=> 'fas fa-calendar-alt',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control(new Perfect_Blog_Icon_Changer(
        $wp_customize,'perfect_blog_date_icon',array(
		'label'	=> __('Post Date Icon','perfect-blog'),
		'transport' => 'refresh',
		'section'	=> 'perfect_blog_blog_post',
		'type'		=> 'icon'
	)));

    $wp_customize->add_setting('perfect_blog_comment_hide',array(
       'default' => true,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_comment_hide',array(
       'type' => 'checkbox',
       'label' => __('Comments','perfect-blog'),
       'section' => 'perfect_blog_blog_post'
    ));

	$wp_customize->add_setting('perfect_blog_comment_icon',array(
		'default'	=> 'fas fa-comments',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control(new Perfect_Blog_Icon_Changer(
        $wp_customize,'perfect_blog_comment_icon',array(
		'label'	=> __('Comments Icon','perfect-blog'),
		'transport' => 'refresh',
		'section'	=> 'perfect_blog_blog_post',
		'type'		=> 'icon'
	)));

    $wp_customize->add_setting('perfect_blog_author_hide',array(
       'default' => true,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_author_hide',array(
       'type' => 'checkbox',
       'label' => __('Author','perfect-blog'),
       'section' => 'perfect_blog_blog_post'
    ));

	$wp_customize->add_setting('perfect_blog_author_icon',array(
		'default'	=> 'fas fa-user',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control(new Perfect_Blog_Icon_Changer(
        $wp_customize,'perfect_blog_author_icon',array(
		'label'	=> __('Author Icon','perfect-blog'),
		'transport' => 'refresh',
		'section'	=> 'perfect_blog_blog_post',
		'type'		=> 'icon'
	)));

    $wp_customize->add_setting('perfect_blog_time_hide',array(
       'default' => true,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_time_hide',array(
       'type' => 'checkbox',
       'label' => __('Time','perfect-blog'),
       'section' => 'perfect_blog_blog_post'
    ));

	$wp_customize->add_setting('perfect_blog_time_icon',array(
		'default'	=> 'fas fa-clock',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control(new Perfect_Blog_Icon_Changer(
        $wp_customize,'perfect_blog_time_icon',array(
		'label'	=> __('Time Icon','perfect-blog'),
		'transport' => 'refresh',
		'section'	=> 'perfect_blog_blog_post',
		'type'		=> 'icon'
	)));

	$wp_customize->add_setting('perfect_blog_show_post_category',array(
       'default' => true,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_show_post_category',array(
       'type' => 'checkbox',
       'label' => __('Show / Hide Category','perfect-blog'),
       'section' => 'perfect_blog_blog_post'
    ));

    $wp_customize->add_setting('perfect_blog_show_featured_image_post',array(
       'default' => true,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_show_featured_image_post',array(
       'type' => 'checkbox',
       'label' => __('Blog Post Image','perfect-blog'),
       'section' => 'perfect_blog_blog_post'
    ));

    $wp_customize->add_setting( 'perfect_blog_featured_img_border_radius', array(
		'default'=> 0,
		'sanitize_callback'	=> 'perfect_blog_sanitize_float',
	) );
	$wp_customize->add_control( 'perfect_blog_featured_img_border_radius', array(
		'label'       => esc_html__( 'Blog Post Image Border Radius','perfect-blog' ),
		'section'     => 'perfect_blog_blog_post',
		'type'        => 'number',
		'input_attrs' => array(
			'step'             => 1,
			'min'              => 0,
			'max'              => 100,
		),
	) );

	$wp_customize->add_setting( 'perfect_blog_featured_img_box_shadow',array(
		'default' => 0,
		'sanitize_callback'    => 'perfect_blog_sanitize_float',
	));
	$wp_customize->add_control('perfect_blog_featured_img_box_shadow',array(
		'label' => esc_html__( 'Blog Post Image Shadow','perfect-blog' ),
		'section' => 'perfect_blog_blog_post',
		'input_attrs' => array(
			'min' => 0,
			'max' => 50,
			'step' => 1,
		),
		'type' => 'number'
	));

	// Image Dimension Option
	$wp_customize->add_setting('perfect_blog_blog_image_dimension', array(
		'default'           => 'default',
		'sanitize_callback' => 'perfect_blog_sanitize_choices'
	));
	$wp_customize->add_control('perfect_blog_blog_image_dimension', array(
		'type'    => 'radio',
		'label'   => __('Blog Post Featured Image Dimension', 'perfect-blog'),
		'section' => 'perfect_blog_blog_post',
		'choices' => array(
			'default' => __('Default', 'perfect-blog'),
			'custom'  => __('Custom Image Size', 'perfect-blog'),
		),
	));

	// Custom Width 
	$wp_customize->add_setting('perfect_blog_feature_image_custom_width', array(
		'default'           => '',
		'sanitize_callback' => 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_feature_image_custom_width', array(
		'label'       => __('Featured Image Custom Width', 'perfect-blog'),
		'section'     => 'perfect_blog_blog_post',
		'description' => __('Measurement is in pixel.', 'perfect-blog'),
		'input_attrs' => array(
			'min'  => 0,
			'max'  => 800,
			'step' => 1,
		),
		'type'             => 'number',
		'active_callback'  => 'perfect_blog_blog_image_dimension'
	));

	// Custom Height 
	$wp_customize->add_setting('perfect_blog_feature_image_custom_height', array(
		'default'           => '',
		'sanitize_callback' => 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_feature_image_custom_height', array(
		'label'       => __('Featured Image Custom Height', 'perfect-blog'),
		'section'     => 'perfect_blog_blog_post',
		'description' => __('Measurement is in pixel.', 'perfect-blog'),
		'input_attrs' => array(
			'min'  => 0,
			'max'  => 500,
			'step' => 1,
		),
		'type'             => 'number',
		'active_callback'  => 'perfect_blog_blog_image_dimension'
	));

	$wp_customize->add_setting('perfect_blog_show_first_caps',array(
        'default' => false,
        'sanitize_callback' => 'perfect_blog_sanitize_checkbox',
    ));
	$wp_customize->add_control( 'perfect_blog_show_first_caps',array(
		'label' => esc_html__('First Cap (First Capital Letter)', 'perfect-blog'),
		'type' => 'checkbox',
		'section' => 'perfect_blog_blog_post',
	));

    $wp_customize->add_setting('perfect_blog_blog_post_description_option',array(
    	'default'   => 'Excerpt Content',
        'sanitize_callback' => 'perfect_blog_sanitize_choices'
	));
	$wp_customize->add_control('perfect_blog_blog_post_description_option',array(
        'type' => 'radio',
        'label' => __('Post Description Length','perfect-blog'),
        'section' => 'perfect_blog_blog_post',
        'choices' => array(
            'No Content' => __('No Content','perfect-blog'),
            'Excerpt Content' => __('Excerpt Content','perfect-blog'),
            'Full Content' => __('Full Content','perfect-blog'),
        ),
	) );

    $wp_customize->add_setting( 'perfect_blog_excerpt_number', array(
		'default'              => 20,
		'sanitize_callback'	=> 'absint',
	) );
	$wp_customize->add_control( 'perfect_blog_excerpt_number', array(
		'label'       => esc_html__( 'Excerpt length','perfect-blog' ),
		'section'     => 'perfect_blog_blog_post',
		'type'        => 'number',
		'settings'    => 'perfect_blog_excerpt_number',
		'input_attrs' => array(
			'step'             => 2,
			'min'              => 0,
			'max'              => 50,
		),
	) );

	$wp_customize->add_setting( 'perfect_blog_post_suffix_option', array(
		'default'   => __('...', 'perfect-blog'),
		'sanitize_callback'	=> 'sanitize_text_field'
	) );
	$wp_customize->add_control( 'perfect_blog_post_suffix_option', array(
		'label'       => esc_html__( 'Post Excerpt Indicator Option','perfect-blog' ),
		'section'     => 'perfect_blog_blog_post',
		'type'        => 'text',
		'settings'    => 'perfect_blog_post_suffix_option',
	) );

	$wp_customize->add_setting( 'perfect_blog_metabox_separator_blog_post', array(
		'default'   => '|',
		'sanitize_callback'	=> 'sanitize_text_field'
	) );
	$wp_customize->add_control( 'perfect_blog_metabox_separator_blog_post', array(
		'label'       => esc_html__( 'Meta Box Separator','perfect-blog' ),
		'input_attrs' => array(
            'placeholder' => __( 'Add Meta Separator. e.g.: "|", "/", etc.', 'perfect-blog' ),
        ),
		'section'     => 'perfect_blog_blog_post',
		'type'        => 'text',
		'settings'    => 'perfect_blog_metabox_separator_blog_post',
	) );

	$wp_customize->add_setting('perfect_blog_display_blog_page_post',array(
        'default' => 'In Box',
        'sanitize_callback' => 'perfect_blog_sanitize_choices'
	));
	$wp_customize->add_control('perfect_blog_display_blog_page_post',array(
        'type' => 'radio',
        'label' => __('Display Blog Page Post :','perfect-blog'),
        'section' => 'perfect_blog_blog_post',
        'choices' => array(
            'In Box' => __('In Box','perfect-blog'),
            'Without Box' => __('Without Box','perfect-blog'),
        ),
	) );

	$wp_customize->add_setting('perfect_blog_blog_post_alignment',array(
	    'default' => 'Left',
	    'transport' => 'refresh',
	    'sanitize_callback' => 'perfect_blog_sanitize_choices'
	));
	$wp_customize->add_control('perfect_blog_blog_post_alignment',array(
	    'type' => 'select',
	    'label' => __('Blog Post Alignment','perfect-blog'),
	    'section' => 'perfect_blog_blog_post',
	    'choices' => array(
	    	'Left' => __('Left','perfect-blog'),
	        'Center' => __('Center','perfect-blog'),
	        'Right' => __('Right','perfect-blog')
	    ),
	) );

	$wp_customize->add_setting('perfect_blog_blog_post_pagination',array(
       'default' => true,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_blog_post_pagination',array(
       'type' => 'checkbox',
       'label' => __('Pagination in Blog Page','perfect-blog'),
       'section' => 'perfect_blog_blog_post'
    ));

	$wp_customize->add_setting( 'perfect_blog_pagination_settings', array(
        'default'			=> 'Numeric Pagination',
        'sanitize_callback'	=> 'perfect_blog_sanitize_choices'
    ));
    $wp_customize->add_control( 'perfect_blog_pagination_settings', array(
        'section' => 'perfect_blog_blog_post',
        'type' => 'radio',
        'label' => __( 'Post Pagination', 'perfect-blog' ),
        'choices'		=> array(
            'Numeric Pagination'  => __( 'Numeric Pagination', 'perfect-blog' ),
            'next-prev' => __( 'Next / Previous', 'perfect-blog' ),
    )));

	$wp_customize->add_setting('perfect_blog_pagination_alignment',array(
	    'default' => 'Left',
	    'transport' => 'refresh',
	    'sanitize_callback' => 'perfect_blog_sanitize_choices'
	));
	$wp_customize->add_control('perfect_blog_pagination_alignment',array(
	    'type' => 'select',
	    'label' => __('Pagination Alignment','perfect-blog'),
	    'section' => 'perfect_blog_blog_post',
	    'choices' => array(
	    	'Left' => __('Left','perfect-blog'),
	        'Center' => __('Center','perfect-blog'),
	        'Right' => __('Right','perfect-blog')
	    ),
	) );

	// Button
	$wp_customize->add_section( 'perfect_blog_theme_button', array(
		'title' => __('Button Option','perfect-blog'),
		'panel' => 'perfect_blog_panel_id',
	));

	$wp_customize->add_setting('perfect_blog_theme_button_premium_info',array(
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_theme_button_premium_info',array(
		'type'=> 'hidden',
		'description' => "<p>". esc_html__('Upgrade to premium for more features.','perfect-blog') ."</p><a target='_blank' href='". esc_url(PERFECT_BLOG_BUY_NOW) ." '>". esc_html__('Upgrade to Pro','perfect-blog') ."</a>",
		'section'=> 'perfect_blog_theme_button'
	));

	$wp_customize->selective_refresh->add_partial( 'perfect_blog_button_text', array(
		'selector' => '.page-box .new-text .second-border a',
		'render_callback' => 'perfect_blog_customize_partial_perfect_blog_button_text',
	));

	$wp_customize->add_setting('perfect_blog_button_text',array(
		'default'=> __('Read complete post', 'perfect-blog'),
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_button_text',array(
		'label'	=> __('Add Button Text','perfect-blog'),
		'section'=> 'perfect_blog_theme_button',
		'type'=> 'text'
	));

	$wp_customize->add_setting('perfect_blog_button_font_size',array(
		'default'=> '',
		'sanitize_callback'	=> 'perfect_blog_sanitize_float'
	));
	$wp_customize->add_control('perfect_blog_button_font_size',array(
		'label'	=> __('Button Font Size','perfect-blog'),
		'input_attrs' => array(
            'step'             => 1,
			'min'              => 0,
			'max'              => 50,
        ),
		'section'=> 'perfect_blog_theme_button',
		'type'=> 'number'
	));

	$wp_customize->add_setting('perfect_blog_btn_font_weight',array(
		'default'=> '',
		'sanitize_callback'	=> 'perfect_blog_sanitize_choices',
	));
	$wp_customize->add_control('perfect_blog_btn_font_weight',array(
		'label'	=> __('Button Font Weight','perfect-blog'),
		'section'=> 'perfect_blog_theme_button',
		'type' => 'select',
		'choices' => array(
            '100' => __('100','perfect-blog'),
            '200' => __('200','perfect-blog'),
            '300' => __('300','perfect-blog'),
            '400' => __('400','perfect-blog'),
            '500' => __('500','perfect-blog'),
            '600' => __('600','perfect-blog'),
            '700' => __('700','perfect-blog'),
            '800' => __('800','perfect-blog'),
            '900' => __('900','perfect-blog'),
        ),
	));

	// button letter spacing
	$wp_customize->add_setting( 'perfect_blog_button_letter_spacing',array(
		'default' => '',
		'sanitize_callback' => 'perfect_blog_sanitize_float'
	));
	$wp_customize->add_control('perfect_blog_button_letter_spacing', array(
		'label'  =>  esc_html__('Button Letter Spacing','perfect-blog'),
		'type'=> 'number',
		'section'  => 'perfect_blog_theme_button',
		'input_attrs' => array(
			'step' => 1,
			'min' => 0,
			'max' => 50,
		)
	));

	$wp_customize->add_setting('perfect_blog_button_text_transform',array(
		'default' => 'Uppercase',
		'sanitize_callback' => 'perfect_blog_sanitize_choices'
 	));
 	$wp_customize->add_control('perfect_blog_button_text_transform',array(
		'type' => 'radio',
		'label' => __('Button Text Transform','perfect-blog'),
		'section' => 'perfect_blog_theme_button',
		'choices' => array(
		   'Uppercase' => __('Uppercase','perfect-blog'),
		   'Lowercase' => __('Lowercase','perfect-blog'),
		   'Capitalize' => __('Capitalize','perfect-blog'),
		),
	) );

	$wp_customize->add_setting('perfect_blog_button_padding_top_bottom',array(
		'default'=> '',
		'sanitize_callback'	=> 'perfect_blog_sanitize_float',
	));
	$wp_customize->add_control('perfect_blog_button_padding_top_bottom',array(
		'label'	=> __('Top and Bottom Padding','perfect-blog'),
		'input_attrs' => array(
            'step'             => 1,
			'min'              => 0,
			'max'              => 50,
        ),
		'section'=> 'perfect_blog_theme_button',
		'type'=> 'number'
	));

	$wp_customize->add_setting('perfect_blog_button_padding_left_right',array(
		'default'=> '',
		'sanitize_callback'	=> 'perfect_blog_sanitize_float',
	));
	$wp_customize->add_control('perfect_blog_button_padding_left_right',array(
		'label'	=> __('Left and Right Padding','perfect-blog'),
		'input_attrs' => array(
            'step'             => 1,
			'min'              => 0,
			'max'              => 50,
        ),
		'section'=> 'perfect_blog_theme_button',
		'type'=> 'number'
	));

	$wp_customize->add_setting( 'perfect_blog_button_border_radius', array(
		'default'=> '',
		'sanitize_callback'	=> 'perfect_blog_sanitize_float',
	) );
	$wp_customize->add_control( 'perfect_blog_button_border_radius', array(
		'label'       => esc_html__( 'Button Border Radius','perfect-blog' ),
		'section'     => 'perfect_blog_theme_button',
		'type'        => 'number',
		'input_attrs' => array(
			'step'             => 1,
			'min'              => 0,
			'max'              => 50,
		),
	) );

	//Single Post Settings
	$wp_customize->add_section('perfect_blog_single_post',array(
		'title'	=> __('Single Post Settings','perfect-blog'),
		'panel' => 'perfect_blog_panel_id',
	));	

	$wp_customize->add_setting('perfect_blog_single_post_premium_info',array(
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_single_post_premium_info',array(
		'type'=> 'hidden',
		'description' => "<p>". esc_html__('Upgrade to premium for more features.','perfect-blog') ."</p><a target='_blank' href='". esc_url(PERFECT_BLOG_BUY_NOW) ." '>". esc_html__('Upgrade to Pro','perfect-blog') ."</a>",
		'section'=> 'perfect_blog_single_post'
	));

	$wp_customize->selective_refresh->add_partial( 'perfect_blog_single_post_date_hide', array(
		'selector' => '.single-post .page-box-single',
		'render_callback' => 'perfect_blog_customize_partial_perfect_blog_single_post_date_hide',
	));

	$wp_customize->add_setting('perfect_blog_single_post_date_hide',array(
       'default' => true,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_single_post_date_hide',array(
       'type' => 'checkbox',
       'label' => __('Single Post Date','perfect-blog'),
       'section' => 'perfect_blog_single_post'
    ));

	$wp_customize->add_setting('perfect_blog_single_post_date_icon',array(
		'default'	=> 'fa fa-calendar',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control(new Perfect_Blog_Icon_Changer(
        $wp_customize,'perfect_blog_single_post_date_icon',array(
		'label'	=> __('Single Post Date Icon','perfect-blog'),
		'transport' => 'refresh',
		'section'	=> 'perfect_blog_single_post',
		'type'		=> 'icon'
	)));

    $wp_customize->add_setting('perfect_blog_single_post_author_hide',array(
       'default' => true,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_single_post_author_hide',array(
       'type' => 'checkbox',
       'label' => __('Single Post Author','perfect-blog'),
       'section' => 'perfect_blog_single_post'
    ));

	$wp_customize->add_setting('perfect_blog_single_post_author_icon',array(
		'default'	=> 'fas fa-user',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control(new Perfect_Blog_Icon_Changer(
        $wp_customize,'perfect_blog_single_post_author_icon',array(
		'label'	=> __('Single Post Author Icon','perfect-blog'),
		'transport' => 'refresh',
		'section'	=> 'perfect_blog_single_post',
		'type'		=> 'icon'
	)));

    $wp_customize->add_setting('perfect_blog_single_post_comment_hide',array(
       'default' => true,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_single_post_comment_hide',array(
       'type' => 'checkbox',
       'label' => __('Single Post Comments','perfect-blog'),
       'section' => 'perfect_blog_single_post'
    ));

	$wp_customize->add_setting('perfect_blog_single_post_comment_icon',array(
		'default'	=> 'fas fa-comments',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control(new Perfect_Blog_Icon_Changer(
        $wp_customize,'perfect_blog_single_post_comment_icon',array(
		'label'	=> __('Single Post Comments Icon','perfect-blog'),
		'transport' => 'refresh',
		'section'	=> 'perfect_blog_single_post',
		'type'		=> 'icon'
	)));

    $wp_customize->add_setting('perfect_blog_single_post_time_hide',array(
       'default' => true,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_single_post_time_hide',array(
       'type' => 'checkbox',
       'label' => __('Single Post Time','perfect-blog'),
       'section' => 'perfect_blog_single_post'
    ));

	$wp_customize->add_setting('perfect_blog_single_post_time_icon',array(
		'default'	=> 'fas fa-clock',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control(new Perfect_Blog_Icon_Changer(
        $wp_customize,'perfect_blog_single_post_time_icon',array(
		'label'	=> __('Single Post Time Icon','perfect-blog'),
		'transport' => 'refresh',
		'section'	=> 'perfect_blog_single_post',
		'type'		=> 'icon'
	)));

	$wp_customize->add_setting('perfect_blog_tags_hide',array(
       'default' => true,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_tags_hide',array(
       'type' => 'checkbox',
       'label' => __('Single Post Tags','perfect-blog'),
       'section' => 'perfect_blog_single_post'
    ));

    $wp_customize->add_setting('perfect_blog_show_featured_image_single_post',array(
       'default' => true,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_show_featured_image_single_post',array(
       'type' => 'checkbox',
       'label' => __('Single Post Image','perfect-blog'),
       'section' => 'perfect_blog_single_post'
    ));

    $wp_customize->add_setting( 'perfect_blog_single_img_border_radius', array(
		'default'=> 0,
		'sanitize_callback'	=> 'perfect_blog_sanitize_float',
	) );
	$wp_customize->add_control( 'perfect_blog_single_img_border_radius', array(
		'label'       => esc_html__( 'Single Post Image Border Radius','perfect-blog' ),
		'section'     => 'perfect_blog_single_post',
		'type'        => 'number',
		'input_attrs' => array(
			'step'             => 1,
			'min'              => 0,
			'max'              => 100,
		),
	) );

	$wp_customize->add_setting( 'perfect_blog_single_img_box_shadow',array(
		'default' => 0,
		'sanitize_callback'    => 'perfect_blog_sanitize_float',
	));
	$wp_customize->add_control('perfect_blog_single_img_box_shadow',array(
		'label' => esc_html__( 'Single Post Image Shadow','perfect-blog' ),
		'section' => 'perfect_blog_single_post',
		'input_attrs' => array(
			'min' => 0,
			'max' => 50,
			'step' => 1,
		),
		'type' => 'number'
	));

	$wp_customize->add_setting('perfect_blog_single_post_first_caps',array(
        'default' => false,
        'sanitize_callback' => 'perfect_blog_sanitize_checkbox',
    ));
	$wp_customize->add_control( 'perfect_blog_single_post_first_caps',array(
		'label' => esc_html__('First Cap (First Capital Letter)', 'perfect-blog'),
		'type' => 'checkbox',
		'section' => 'perfect_blog_single_post',
	));

    $wp_customize->add_setting( 'perfect_blog_post_comment',array(
		'default' => true,
		'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
	) );
	$wp_customize->add_control('perfect_blog_post_comment',array(
		'type' => 'checkbox',
		'label' => __('Single Post Comment Box','perfect-blog'),
		'section' => 'perfect_blog_single_post'
	));

	$wp_customize->add_setting( 'perfect_blog_single_post_breadcrumb',array(
		'default' => false,
		'transport' => 'refresh',
      	'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ) );
    $wp_customize->add_control('perfect_blog_single_post_breadcrumb',array(
    	'type' => 'checkbox',
        'label' => __( 'Show / Hide Single Post Breadcrumb','perfect-blog' ),
        'section' => 'perfect_blog_single_post'
    ));

    // show/hide single post pagination
    $wp_customize->add_setting('perfect_blog_show_single_post_pagination',array(
       'default' => true,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_show_single_post_pagination',array(
       'type' => 'checkbox',
       'label' => __('Show / Hide Single Post Pagination','perfect-blog'),
       'section' => 'perfect_blog_single_post'
    ));

    $wp_customize->add_setting('perfect_blog_category_show_hide',array(
       'default' => true,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_category_show_hide',array(
       'type' => 'checkbox',
       'label' => __('Single Post Category','perfect-blog'),
       'section' => 'perfect_blog_single_post'
    ));

    $wp_customize->add_setting('perfect_blog_title_comment_form',array(
       'default' => __('Leave a Reply','perfect-blog'),
       'sanitize_callback'	=> 'sanitize_text_field'
    ));
    $wp_customize->add_control('perfect_blog_title_comment_form',array(
       'type' => 'text',
       'label' => __('Comment Form Heading Text','perfect-blog'),
       'section' => 'perfect_blog_single_post'
    ));

    $wp_customize->add_setting('perfect_blog_comment_form_button_content',array(
       'default' => __('Post Comment','perfect-blog'),
       'sanitize_callback'	=> 'sanitize_text_field'
    ));
    $wp_customize->add_control('perfect_blog_comment_form_button_content',array(
       'type' => 'text',
       'label' => __('Comment Form Button Text','perfect-blog'),
       'section' => 'perfect_blog_single_post'
    ));

    //Comment Textarea Width
    $wp_customize->add_setting( 'perfect_blog_comment_width', array(
		'default'=> '100',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control(
	    'perfect_blog_comment_width', array(
		'label'  => __('Comment Textarea Width','perfect-blog'),
		'section'  => 'perfect_blog_single_post',
		'description' => __('Measurement is in %.','perfect-blog'),
		'input_attrs' => array(
		   'step'=> 1,
		   'min' => 0,
		   'max' => 100,
		),
		'type'		=> 'number'
    ));

    $wp_customize->add_setting( 'perfect_blog_single_post_meta_seperator', array(
		'default'   => '|',
		'sanitize_callback'	=> 'sanitize_text_field'
	) );
	$wp_customize->add_control( 'perfect_blog_single_post_meta_seperator', array(
		'label'       => esc_html__( 'Single Post Meta Box Seperator','perfect-blog' ),
		'section'     => 'perfect_blog_single_post',
		'description' => __('Here you can add the seperator for meta box. e.g. "|",  ",", "/", etc. ','perfect-blog'),
		'type'        => 'text',
		'settings'    => 'perfect_blog_single_post_meta_seperator',
	) );

	//Grid Post Settings
	$wp_customize->add_section('perfect_blog_grid_post',array(
		'title'	=> __('Grid Post Settings','perfect-blog'),
		'panel' => 'perfect_blog_panel_id',
	));	

	$wp_customize->add_setting('perfect_blog_grid_post_premium_info',array(
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_grid_post_premium_info',array(
		'type'=> 'hidden',
		'description' => "<p>". esc_html__('Upgrade to premium for more features.','perfect-blog') ."</p><a target='_blank' href='". esc_url(PERFECT_BLOG_BUY_NOW) ." '>". esc_html__('Upgrade to Pro','perfect-blog') ."</a>",
		'section'=> 'perfect_blog_grid_post'
	));

	$wp_customize->add_setting('perfect_blog_grid_post_date',array(
       'default' => true,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_grid_post_date',array(
       'type' => 'checkbox',
       'label' => __('Post Date','perfect-blog'),
       'section' => 'perfect_blog_grid_post'
    ));	

	$wp_customize->add_setting('perfect_blog_grid_post_date_icon',array(
		'default'	=> 'fas fa-calendar-alt',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control(new Perfect_Blog_Icon_Changer(
        $wp_customize,'perfect_blog_grid_post_date_icon',array(
		'label'	=> __('Date Icon','perfect-blog'),
		'transport' => 'refresh',
		'section'	=> 'perfect_blog_grid_post',
		'type'		=> 'icon'
	)));

	$wp_customize->add_setting('perfect_blog_grid_post_comment',array(
       'default' => true,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_grid_post_comment',array(
       'type' => 'checkbox',
       'label' => __('Post Comment','perfect-blog'),
       'section' => 'perfect_blog_grid_post'
    ));	

	$wp_customize->add_setting('perfect_blog_grid_post_comment_icon',array(
		'default'	=> 'fas fa-comments',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control(new Perfect_Blog_Icon_Changer(
        $wp_customize,'perfect_blog_grid_post_comment_icon',array(
		'label'	=> __('Comment Icon','perfect-blog'),
		'transport' => 'refresh',
		'section'	=> 'perfect_blog_grid_post',
		'type'		=> 'icon'
	)));

	$wp_customize->add_setting('perfect_blog_grid_post_author',array(
       'default' => true,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_grid_post_author',array(
       'type' => 'checkbox',
       'label' => __('Post Author','perfect-blog'),
       'section' => 'perfect_blog_grid_post'
    ));	

	$wp_customize->add_setting('perfect_blog_grid_post_author_icon',array(
		'default'	=> 'fas fa-user',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control(new Perfect_Blog_Icon_Changer(
        $wp_customize,'perfect_blog_grid_post_author_icon',array(
		'label'	=> __('Author Icon','perfect-blog'),
		'transport' => 'refresh',
		'section'	=> 'perfect_blog_grid_post',
		'type'		=> 'icon'
	)));

	$wp_customize->add_setting('perfect_blog_grid_post_time',array(
       'default' => true,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_grid_post_time',array(
       'type' => 'checkbox',
       'label' => __('Post Time','perfect-blog'),
       'section' => 'perfect_blog_grid_post'
    ));

	$wp_customize->add_setting('perfect_blog_grid_post_time_icon',array(
		'default'	=> 'fas fa-clock',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control(new Perfect_Blog_Icon_Changer(
        $wp_customize,'perfect_blog_grid_post_time_icon',array(
		'label'	=> __('Time Icon','perfect-blog'),
		'transport' => 'refresh',
		'section'	=> 'perfect_blog_grid_post',
		'type'		=> 'icon'
	)));

	$wp_customize->add_setting('perfect_blog_grid_post_alignment',array(
	    'default' => 'Left',
	    'transport' => 'refresh',
	    'sanitize_callback' => 'perfect_blog_sanitize_choices'
	));
	$wp_customize->add_control('perfect_blog_grid_post_alignment',array(
	    'type' => 'select',
	    'label' => __('Grid Post Alignment','perfect-blog'),
	    'section' => 'perfect_blog_grid_post',
	    'choices' => array(
	    	'Left' => __('Left','perfect-blog'),
	        'Center' => __('Center','perfect-blog'),
	        'Right' => __('Right','perfect-blog')
	    ),
	) );

	$wp_customize->add_setting('perfect_blog_grid_post_description_option',array(
    	'default'   => 'Excerpt Content',
        'sanitize_callback' => 'perfect_blog_sanitize_choices'
	));
	$wp_customize->add_control('perfect_blog_grid_post_description_option',array(
        'type' => 'radio',
        'label' => __('Post Description Length','perfect-blog'),
        'section' => 'perfect_blog_grid_post',
        'choices' => array(
            'No Content' => __('No Content','perfect-blog'),
            'Excerpt Content' => __('Excerpt Content','perfect-blog'),
            'Full Content' => __('Full Content','perfect-blog'),
        ),
	) );

    $wp_customize->add_setting( 'perfect_blog_grid_excerpt_number', array(
		'default'              => 20,
		'sanitize_callback'	=> 'absint',
	) );
	$wp_customize->add_control( 'perfect_blog_grid_excerpt_number', array(
		'label'       => esc_html__( 'Excerpt length','perfect-blog' ),
		'section'     => 'perfect_blog_grid_post',
		'type'        => 'number',
		'settings'    => 'perfect_blog_grid_excerpt_number',
		'input_attrs' => array(
			'step'             => 2,
			'min'              => 0,
			'max'              => 50,
		),
	) );

	$wp_customize->add_setting( 'perfect_blog_grid_post_suffix_option', array(
		'default'   => __('...','perfect-blog'),
		'sanitize_callback'	=> 'sanitize_text_field'
	) );
	$wp_customize->add_control( 'perfect_blog_grid_post_suffix_option', array(
		'label'       => esc_html__( 'Excerpt Indicator Option','perfect-blog' ),
		'section'     => 'perfect_blog_grid_post',
		'type'        => 'text',
		'settings'    => 'perfect_blog_grid_post_suffix_option',
	) );

	$wp_customize->add_setting( 'perfect_blog_metabox_separator_grid_post', array(
		'default'   => '|',
		'sanitize_callback'	=> 'sanitize_text_field'
	) );
	$wp_customize->add_control( 'perfect_blog_metabox_separator_grid_post', array(
		'label'       => esc_html__( 'Meta Box Separator','perfect-blog' ),
		'input_attrs' => array(
            'placeholder' => __( 'Add Meta Separator. e.g.: "|", "/", etc.', 'perfect-blog' ),
        ),
		'section'     => 'perfect_blog_grid_post',
		'type'        => 'text',
		'settings'    => 'perfect_blog_metabox_separator_grid_post',
	) );

    $wp_customize->add_setting('perfect_blog_show_featured_image_grid_post',array(
       'default' => true,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_show_featured_image_grid_post',array(
       'type' => 'checkbox',
       'label' => __('Grid Post Image','perfect-blog'),
       'section' => 'perfect_blog_grid_post'
    ));

    $wp_customize->add_setting( 'perfect_blog_img_border_radius_grid_post', array(
		'default'=> 0,
		'sanitize_callback'	=> 'perfect_blog_sanitize_float',
	) );
	$wp_customize->add_control( 'perfect_blog_img_border_radius_grid_post', array(
		'label'       => esc_html__( 'Grid Post Image Border Radius','perfect-blog' ),
		'section'     => 'perfect_blog_grid_post',
		'type'        => 'number',
		'input_attrs' => array(
			'step'             => 1,
			'min'              => 0,
			'max'              => 100,
		),
	) );

	$wp_customize->add_setting('perfect_blog_display_grid_page_post',array(
        'default' => 'In Box',
        'sanitize_callback' => 'perfect_blog_sanitize_choices'
	));
	$wp_customize->add_control('perfect_blog_display_grid_page_post',array(
        'type' => 'radio',
        'label' => __('Display Grid Post Box :','perfect-blog'),
        'section' => 'perfect_blog_grid_post',
        'choices' => array(
            'In Box' => __('In Box','perfect-blog'),
            'Without Box' => __('Without Box','perfect-blog'),
        ),
	) );

	//Related Post Settings
	$wp_customize->add_section('perfect_blog_related_post',array(
		'title'	=> __('Related Post Settings','perfect-blog'),
		'panel' => 'perfect_blog_panel_id',
	));	

	$wp_customize->add_setting('perfect_blog_related_post_premium_info',array(
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_related_post_premium_info',array(
		'type'=> 'hidden',
		'description' => "<p>". esc_html__('Upgrade to premium for more features.','perfect-blog') ."</p><a target='_blank' href='". esc_url(PERFECT_BLOG_BUY_NOW) ." '>". esc_html__('Upgrade to Pro','perfect-blog') ."</a>",
		'section'=> 'perfect_blog_related_post'
	));

	$wp_customize->selective_refresh->add_partial( 'perfect_blog_show_related_post', array(
		'selector' => '.related-posts',
		'render_callback' => 'perfect_blog_customize_partial_perfect_blog_show_related_post',
	));

	$wp_customize->add_setting( 'perfect_blog_show_related_post',array(
		'default' => true,
      	'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ) );
    $wp_customize->add_control('perfect_blog_show_related_post',array(
    	'type' => 'checkbox',
        'label' => __( 'Related Post','perfect-blog' ),
        'section' => 'perfect_blog_related_post'
    ));

    $wp_customize->add_setting('perfect_blog_related_posts_taxanomies_options',array(
        'default' => 'categories',
        'sanitize_callback' => 'perfect_blog_sanitize_choices'
	));
	$wp_customize->add_control('perfect_blog_related_posts_taxanomies_options',array(
        'type' => 'radio',
        'label' => __('Related Post Taxonomies','perfect-blog'),
        'section' => 'perfect_blog_related_post',
        'choices' => array(
            'categories' => __('Categories','perfect-blog'),
            'tags' => __('Tags','perfect-blog'),
        ),
	) );

	$wp_customize->add_setting('perfect_blog_related_post_title',array(
		'default'=> __('Related Posts','perfect-blog'),
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_related_post_title',array(
		'label'	=> __('Related Post Title','perfect-blog'),
		'section'=> 'perfect_blog_related_post',
		'type'=> 'text'
	));

    $wp_customize->add_setting('perfect_blog_show_featured_image_related_post',array(
       'default' => true,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_show_featured_image_related_post',array(
       'type' => 'checkbox',
       'label' => __('Related Post Image','perfect-blog'),
       'section' => 'perfect_blog_related_post'
    ));

	$wp_customize->add_setting('perfect_blog_related_posts_number',array(
		'default'=> 3,
		'sanitize_callback'	=> 'perfect_blog_sanitize_float',
	));
	$wp_customize->add_control('perfect_blog_related_posts_number',array(
		'label'	=> __('Related Post Number','perfect-blog'),
		'section'=> 'perfect_blog_related_post',
		'type'=> 'number',
		'input_attrs' => array(
            'step'             => 1,
			'min'              => 0,
			'max'              => 50,
        ),
	));

	$wp_customize->add_setting('perfect_blog_related_post_excerpt_number',array(
		'default'=> 20,
		'sanitize_callback'	=> 'perfect_blog_sanitize_float',
	));
	$wp_customize->add_control('perfect_blog_related_post_excerpt_number',array(
		'label'	=> __('Related Post Content Limit','perfect-blog'),
		'section'=> 'perfect_blog_related_post',
		'type'=> 'number',
		'input_attrs' => array(
            'step'             => 1,
			'min'              => 0,
			'max'              => 50,
        ),
	));

	$wp_customize->add_setting('perfect_blog_related_post_date_hide',array(
       'default' => true,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_related_post_date_hide',array(
       'type' => 'checkbox',
       'label' => __('Post Date','perfect-blog'),
       'section' => 'perfect_blog_related_post'
    ));

	$wp_customize->add_setting('perfect_blog_related_post_date_icon',array(
		'default'	=> 'fas fa-calendar-alt',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control(new Perfect_Blog_Icon_Changer(
        $wp_customize,'perfect_blog_related_post_date_icon',array(
		'label'	=> __('Post Date Icon','perfect-blog'),
		'transport' => 'refresh',
		'section'	=> 'perfect_blog_related_post',
		'type'		=> 'icon'
	)));

	$wp_customize->add_setting('perfect_blog_related_button_text',array(
		'default'=> esc_html__('Read More','perfect-blog'),
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_related_button_text',array(
		'label'	=> esc_html__('Add Button Text','perfect-blog'),
		'input_attrs' => array(
        'placeholder' => esc_html__( 'Read More', 'perfect-blog' ),
        ),
		'section'=> 'perfect_blog_related_post',
		'type'=> 'text'
	));
	
	//Layouts
	$wp_customize->add_section( 'perfect_blog_left_right', array(
    	'title'      => __( 'Layout Settings', 'perfect-blog' ),
		'priority'   => null,
		'panel' => 'perfect_blog_panel_id'
	) );

	$wp_customize->add_setting('perfect_blog_left_right_premium_info',array(
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_left_right_premium_info',array(
		'type'=> 'hidden',
		'description' => "<p>". esc_html__('Upgrade to premium for more features.','perfect-blog') ."</p><a target='_blank' href='". esc_url(PERFECT_BLOG_BUY_NOW) ." '>". esc_html__('Upgrade to Pro','perfect-blog') ."</a>",
		'section'=> 'perfect_blog_left_right'
	));

	$wp_customize->add_setting('perfect_blog_theme_options',array(
        'default' => 'Default',
        'sanitize_callback' => 'perfect_blog_sanitize_choices'
	));
	$wp_customize->add_control('perfect_blog_theme_options',array(
        'type' => 'radio',
        'label' => __('Container Box','perfect-blog'),
        'description' => __('Here you can change the Width layout. ','perfect-blog'),
        'section' => 'perfect_blog_left_right',
        'choices' => array(
            'Default' => __('Default','perfect-blog'),
            'Container' => __('Container','perfect-blog'),
            'Box Container' => __('Box Container','perfect-blog'),
        ),
	) );

	$wp_customize->add_setting('perfect_blog_preloader_option',array(
       'default' => false,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_preloader_option',array(
       'type' => 'checkbox',
       'label' => __('Show / Hide Preloader','perfect-blog'),
       'section' => 'perfect_blog_left_right'
    ));

    $wp_customize->add_setting('perfect_blog_preloader_type_options', array(
		'default'           => 'Preloader 1',
		'sanitize_callback' => 'perfect_blog_sanitize_choices',
	));
	$wp_customize->add_control('perfect_blog_preloader_type_options',array(
		'type'           => 'radio',
		'label'          => __('Preloader Type', 'perfect-blog'),
		'section'        => 'perfect_blog_left_right',
		'choices'        => array(
			'Preloader 1'  => __('Preloader 1', 'perfect-blog'),
			'Preloader 2' => __('Preloader 2', 'perfect-blog'),
		),
	));

	$wp_customize->add_setting('perfect_blog_preloader_bg_image',array(
		'default'	=> '',
		'sanitize_callback'	=> 'esc_url_raw',
	));
	$wp_customize->add_control( new WP_Customize_Image_Control($wp_customize,'perfect_blog_preloader_bg_image',array(
        'label' => __('Preloader Background Image','perfect-blog'),
        'section' => 'perfect_blog_left_right'
	)));

    $wp_customize->add_setting( 'perfect_blog_loader_background_color_first', array(
	    'default' => '',
	    'sanitize_callback' => 'sanitize_hex_color'
  	));
  	$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'perfect_blog_loader_background_color_first', array(
  		'label' => __('Background Color for Preloader', 'perfect-blog'),
	    'section' => 'perfect_blog_left_right',
	    'settings' => 'perfect_blog_loader_background_color_first',
  	)));

  	$wp_customize->add_setting( 'perfect_blog_breadcrumb_color', array(
	    'default' => '',
	    'sanitize_callback' => 'sanitize_hex_color'
  	));
  	$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'perfect_blog_breadcrumb_color', array(
  		'label' => __('Breadcrumb Color', 'perfect-blog'),
	    'section' => 'perfect_blog_left_right',
	    'settings' => 'perfect_blog_breadcrumb_color',
  	)));

  	$wp_customize->add_setting( 'perfect_blog_breadcrumb_bg_color', array(
	    'default' => '',
	    'sanitize_callback' => 'sanitize_hex_color'
  	));
  	$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'perfect_blog_breadcrumb_bg_color', array(
  		'label' => __('Breadcrumb Background Color', 'perfect-blog'),
	    'section' => 'perfect_blog_left_right',
	    'settings' => 'perfect_blog_breadcrumb_bg_color',
  	)));

	//Sticky Header
	$wp_customize->add_setting( 'perfect_blog_sticky_header',array(
		'default' => false,
      	'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ) );
    $wp_customize->add_control('perfect_blog_sticky_header',array(
    	'type' => 'checkbox',
        'label' => __( 'Sticky Header','perfect-blog' ),
        'section' => 'perfect_blog_left_right'
    ));

    $wp_customize->add_setting( 'perfect_blog_sticky_header_padding_settings', array(
		'default'=> '',
		'sanitize_callback'	=> 'perfect_blog_sanitize_float',
	) );
	$wp_customize->add_control( 'perfect_blog_sticky_header_padding_settings', array(
		'label'       => esc_html__( 'Sticky Header Padding','perfect-blog' ),
		'section'     => 'perfect_blog_left_right',
		'type'        => 'number',
		'input_attrs' => array(
			'step'             => 1,
			'min'              => 0,
			'max'              => 50,
		),
	) );

    $wp_customize->add_setting( 'perfect_blog_single_page_breadcrumb',array(
		'default' => false,
      	'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ) );
    $wp_customize->add_control('perfect_blog_single_page_breadcrumb',array(
    	'type' => 'checkbox',
        'label' => __( 'Show / Hide Single Page Breadcrumb','perfect-blog' ),
        'section' => 'perfect_blog_left_right'
    ));

	// Add Settings and Controls for Layout
	$wp_customize->add_setting('perfect_blog_layout_options',array(
	    'default' => 'Right Sidebar',
	    'sanitize_callback' => 'perfect_blog_sanitize_choices'	        
	));
	$wp_customize->add_control('perfect_blog_layout_options',
	    array(
	        'type' => 'radio',
	        'label' => __('Blog Post Layouts','perfect-blog'),
	        'section' => 'perfect_blog_left_right',
	        'choices' => array(
	            'Left Sidebar' => __('Left Sidebar','perfect-blog'),
	            'Right Sidebar' => __('Right Sidebar','perfect-blog'),
	            'One Column' => __('One Column','perfect-blog'),
	            'Three Columns' => __('Three Columns','perfect-blog'),
	            'Four Columns' => __('Four Columns','perfect-blog'),
	            'Grid Layout' => __('Grid Layout','perfect-blog')
	        ),
	));

	$wp_customize->add_setting('perfect_blog_single_post_sidebar_layout', array(
		'default'           => 'Right Sidebar',
		'sanitize_callback' => 'perfect_blog_sanitize_choices',
	));
	$wp_customize->add_control('perfect_blog_single_post_sidebar_layout',array(
		'type'           => 'radio',
		'label'          => __('Single Post Layouts', 'perfect-blog'),
		'section'        => 'perfect_blog_left_right',
		'choices'        => array(
			'Left Sidebar'  => __('Left Sidebar', 'perfect-blog'),
			'Right Sidebar' => __('Right Sidebar', 'perfect-blog'),
			'One Column'    => __('One Column', 'perfect-blog'),
		),
	));

	$wp_customize->add_setting('perfect_blog_single_page_sidebar_layout', array(
		'default'           => 'One Column',
		'sanitize_callback' => 'perfect_blog_sanitize_choices',
	));
	$wp_customize->add_control('perfect_blog_single_page_sidebar_layout',array(
		'type'           => 'radio',
		'label'          => __('Single Page Layouts', 'perfect-blog'),
		'section'        => 'perfect_blog_left_right',
		'choices'        => array(
			'Left Sidebar'  => __('Left Sidebar', 'perfect-blog'),
			'Right Sidebar' => __('Right Sidebar', 'perfect-blog'),
			'One Column'    => __('One Column', 'perfect-blog'),
		),
	));

	// animation 
	$wp_customize->add_setting( 'perfect_blog_sidebar_animation',array(
		'default' => true,
    	'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
  	) );

	$wp_customize->add_control('perfect_blog_sidebar_animation',array(
	    'type' => 'checkbox',
	    'label' => __( 'Show / Hide Animations','perfect-blog' ),
	    'section' => 'perfect_blog_left_right'
	));

	//no Result Found
	$wp_customize->add_section('perfect_blog_noresult_found',array(
		'title'	=> __('No Result Found','perfect-blog'),
		'panel' => 'perfect_blog_panel_id',
	));	

	$wp_customize->add_setting('perfect_blog_noresult_premium_info',array(
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_noresult_premium_info',array(
		'type'=> 'hidden',
		'description' => "<p>". esc_html__('Upgrade to premium for more features.','perfect-blog') ."</p><a target='_blank' href='". esc_url(PERFECT_BLOG_BUY_NOW) ." '>". esc_html__('Upgrade to Pro','perfect-blog') ."</a>",
		'section'=> 'perfect_blog_noresult_found'
	));

	$wp_customize->add_setting('perfect_blog_nosearch_found_title',array(
		'default'=> __('Nothing Found','perfect-blog'),
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_nosearch_found_title',array(
		'label'	=> __('No Result Found Title','perfect-blog'),
		'section'=> 'perfect_blog_noresult_found',
		'type'=> 'text'
	));

	$wp_customize->add_setting('perfect_blog_nosearch_found_content',array(
		'default'=> __('Sorry, but nothing matched your search terms. Please try again with some different keywords.','perfect-blog'),
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_nosearch_found_content',array(
		'label'	=> __('No Result Found Content','perfect-blog'),
		'section'=> 'perfect_blog_noresult_found',
		'type'=> 'text'
	));

	$wp_customize->add_setting('perfect_blog_show_noresult_search',array(
       'default' => true,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_show_noresult_search',array(
       'type' => 'checkbox',
       'label' => __('No Result search','perfect-blog'),
       'section' => 'perfect_blog_noresult_found'
    ));

	//404 Page Setting
	$wp_customize->add_section('perfect_blog_404_page_setting',array(
		'title'	=> __('404 Page','perfect-blog'),
		'panel' => 'perfect_blog_panel_id',
	));	

	$wp_customize->add_setting('perfect_blog_404_page_premium_info',array(
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_404_page_premium_info',array(
		'type'=> 'hidden',
		'description' => "<p>". esc_html__('Upgrade to premium for more features.','perfect-blog') ."</p><a target='_blank' href='". esc_url(PERFECT_BLOG_BUY_NOW) ." '>". esc_html__('Upgrade to Pro','perfect-blog') ."</a>",
		'section'=> 'perfect_blog_404_page_setting'
	));

	$wp_customize->add_setting('perfect_blog_title_404_page',array(
		'default'=> __('404 Not Found', 'perfect-blog'),
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_title_404_page',array(
		'label'	=> __('404 Page Title','perfect-blog'),
		'section'=> 'perfect_blog_404_page_setting',
		'type'=> 'text'
	));

	$wp_customize->add_setting('perfect_blog_content_404_page',array(
		'default'=> __('Looks like you have taken a wrong turn&hellip. Dont worry&hellip it happens to the best of us.', 'perfect-blog'),
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_content_404_page',array(
		'label'	=> __('404 Page Content','perfect-blog'),
		'section'=> 'perfect_blog_404_page_setting',
		'type'=> 'text'
	));

	$wp_customize->add_setting('perfect_blog_button_404_page',array(
		'default'=> __('Back to Home Page', 'perfect-blog'),
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_button_404_page',array(
		'label'	=> __('404 Page Button','perfect-blog'),
		'section'=> 'perfect_blog_404_page_setting',
		'type'=> 'text'
	));

	//Responsive Media Settings
	$wp_customize->add_section('perfect_blog_responsive_setting',array(
		'title'	=> __('Responsive Settings','perfect-blog'),
		'panel' => 'perfect_blog_panel_id',
	));

	$wp_customize->add_setting('perfect_blog_responsive_premium_info',array(
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_responsive_premium_info',array(
		'type'=> 'hidden',
		'description' => "<p>". esc_html__('Upgrade to premium for more features.','perfect-blog') ."</p><a target='_blank' href='". esc_url(PERFECT_BLOG_BUY_NOW) ." '>". esc_html__('Upgrade to Pro','perfect-blog') ."</a>",
		'section'=> 'perfect_blog_responsive_setting'
	));

	// taggle button color
    $wp_customize->add_setting( 'perfect_blog_taggle_menu_bg_color_settings', array(
	    'default' => '',
	    'sanitize_callback' => 'sanitize_hex_color'
  	));
  	$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'perfect_blog_taggle_menu_bg_color_settings', array(
  		'label' => __('Toggle Menu Bg Color', 'perfect-blog'),
	    'section' => 'perfect_blog_responsive_setting',
	    'settings' => 'perfect_blog_taggle_menu_bg_color_settings',
  	)));

	$wp_customize->add_setting('perfect_blog_open_menu_icon',array(
		'default'	=> 'fas fa-bars',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control(new Perfect_Blog_Icon_Changer(
        $wp_customize,'perfect_blog_open_menu_icon',array(
		'label'	=> __('Open Menu Icon','perfect-blog'),
		'transport' => 'refresh',
		'section'	=> 'perfect_blog_responsive_setting',
		'type'		=> 'icon'
	)));

	$wp_customize->add_setting('perfect_blog_close_menu_icon',array(
		'default'	=> 'far fa-times-circle',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control(new Perfect_Blog_Icon_Changer(
        $wp_customize,'perfect_blog_close_menu_icon',array(
		'label'	=> __('Close Menu Icon','perfect-blog'),
		'transport' => 'refresh',
		'section'	=> 'perfect_blog_responsive_setting',
		'type'		=> 'icon'
	)));

	$wp_customize->add_setting('perfect_blog_mobile_search_option',array(
       'default' => true,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_mobile_search_option',array(
       'type' => 'checkbox',
       'label' => __('Search','perfect-blog'),
       'section' => 'perfect_blog_responsive_setting'
    ));

    $wp_customize->add_setting('perfect_blog_responsive_sticky_header',array(
       'default' => false,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_responsive_sticky_header',array(
       'type' => 'checkbox',
       'label' => __('Sticky Header','perfect-blog'),
       'section' => 'perfect_blog_responsive_setting'
    ));

    $wp_customize->add_setting('perfect_blog_responsive_slider',array(
       'default' => false,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_responsive_slider',array(
       'type' => 'checkbox',
       'label' => __('Slider','perfect-blog'),
       'section' => 'perfect_blog_responsive_setting'
    ));

    $wp_customize->add_setting('perfect_blog_responsive_scroll',array(
       'default' => true,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_responsive_scroll',array(
       'type' => 'checkbox',
       'label' => __('Scroll To Top','perfect-blog'),
       'section' => 'perfect_blog_responsive_setting'
    ));

    $wp_customize->add_setting('perfect_blog_responsive_sidebar',array(
       'default' => true,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_responsive_sidebar',array(
       'type' => 'checkbox',
       'label' => __('Sidebar','perfect-blog'),
       'section' => 'perfect_blog_responsive_setting'
    ));

    $wp_customize->add_setting('perfect_blog_responsive_preloader',array(
       'default' => false,
       'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
    ));
    $wp_customize->add_control('perfect_blog_responsive_preloader',array(
       'type' => 'checkbox',
       'label' => __('Preloader','perfect-blog'),
       'section' => 'perfect_blog_responsive_setting'
    ));

	//footer
	$wp_customize->add_section('perfect_blog_footer_section',array(
		'title'	=> __('Footer Text','perfect-blog'),
		'priority'	=> null,
		'panel' => 'perfect_blog_panel_id',
	));

	$wp_customize->add_setting('perfect_blog_footer_premium_info',array(
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control('perfect_blog_footer_premium_info',array(
		'type'=> 'hidden',
		'description' => "<p>". esc_html__('Upgrade to premium for more features.','perfect-blog') ."</p><a target='_blank' href='". esc_url(PERFECT_BLOG_BUY_NOW) ." '>". esc_html__('Upgrade to Pro','perfect-blog') ."</a>",
		'section'=> 'perfect_blog_footer_section'
	));

	$wp_customize->selective_refresh->add_partial( 'perfect_blog_show_hide_footer', array(
		'selector' => '#footer',
		'render_callback' => 'perfect_blog_customize_partial_perfect_blog_show_hide_footer',
	));

	$wp_customize->add_setting('perfect_blog_show_hide_footer',array(
		'default' => true,
		'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
	));
	$wp_customize->add_control('perfect_blog_show_hide_footer',array(
     	'type' => 'checkbox',
        'label' => __('Show / Hide Footer','perfect-blog'),
        'section' => 'perfect_blog_footer_section',
	));

	$wp_customize->add_setting('perfect_blog_footer_widget_areas',array(
        'default'           => 4,
	    'sanitize_callback' => 'perfect_blog_sanitize_choices',
    ));
    $wp_customize->add_control('perfect_blog_footer_widget_areas',array(
        'type'        => 'select',
        'label'       => __('Footer widget area', 'perfect-blog'),
        'section'     => 'perfect_blog_footer_section',
        'description' => __('Select the number of widget areas you want in the footer. After that, go to Appearance > Widgets and add your widgets.', 'perfect-blog'),
        'choices' => array(
            '1'     => __('One', 'perfect-blog'),
            '2'     => __('Two', 'perfect-blog'),
            '3'     => __('Three', 'perfect-blog'),
            '4'     => __('Four', 'perfect-blog')
        ),
    ));

    $wp_customize->add_setting('perfect_blog_footer_widget_bg_color', array(
		'default'           => '',
		'sanitize_callback' => 'sanitize_hex_color',
	));
	$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'perfect_blog_footer_widget_bg_color', array(
		'label'    => __('Footer Widget Background Color', 'perfect-blog'),
		'section'  => 'perfect_blog_footer_section',
	)));

	$wp_customize->add_setting('perfect_blog_footer_widget_bg_image',array(
		'default'	=> '',
		'sanitize_callback'	=> 'esc_url_raw',
	));
	$wp_customize->add_control( new WP_Customize_Image_Control($wp_customize,'perfect_blog_footer_widget_bg_image',array(
        'label' => __('Footer Widget Background Image','perfect-blog'),
        'section' => 'perfect_blog_footer_section'
	)));

	$wp_customize->add_setting('perfect_blog_footer_heading',array(
	    'default' => 'Left',
	    'transport' => 'refresh',
	    'sanitize_callback' => 'perfect_blog_sanitize_choices'
	));
	$wp_customize->add_control('perfect_blog_footer_heading',array(
	    'type' => 'select',
	    'label' => __('Footer Heading Alignment','perfect-blog'),
	    'section' => 'perfect_blog_footer_section',
	    'choices' => array(
	    	'Left' => __('Left','perfect-blog'),
	        'Center' => __('Center','perfect-blog'),
	        'Right' => __('Right','perfect-blog')
	    ),
	) );

	$wp_customize->add_setting('perfect_blog_footer_content',array(
	    'default' => 'Left',
	    'transport' => 'refresh',
	    'sanitize_callback' => 'perfect_blog_sanitize_choices'
	));
	$wp_customize->add_control('perfect_blog_footer_content',array(
	    'type' => 'select',
	    'label' => __('Footer Content Alignment','perfect-blog'),
	    'section' => 'perfect_blog_footer_section',
	    'choices' => array(
	    	'Left' => __('Left','perfect-blog'),
	        'Center' => __('Center','perfect-blog'),
	        'Right' => __('Right','perfect-blog')
	    ),
	) );

	$wp_customize->add_setting('perfect_blog_footer_font_size',array(
		'default'=> 24,
		'sanitize_callback'	=> 'perfect_blog_sanitize_float'
	));
	$wp_customize->add_control('perfect_blog_footer_font_size',array(
		'label'	=> __('Footer Heading Font Size','perfect-blog'),
		'input_attrs' => array(
            'step'             => 1,
			'min'              => 0,
			'max'              => 50,
        ),
		'section'=> 'perfect_blog_footer_section',
		'type'=> 'number'
	));

	$wp_customize->add_setting('perfect_blog_footer_heading_font_weight',array(
        'default' => '600',
        'sanitize_callback' => 'perfect_blog_sanitize_choices'
    ));
    $wp_customize->add_control('perfect_blog_footer_heading_font_weight',array(
        'type' => 'select',
        'label' => __('Footer Heading Font Weight','perfect-blog'),
        'section' => 'perfect_blog_footer_section',
        'choices' => array(
            '100' => __('100','perfect-blog'),
            '200' => __('200','perfect-blog'),
            '300' => __('300','perfect-blog'),
            '400' => __('400','perfect-blog'),
            '500' => __('500','perfect-blog'),
            '600' => __('600','perfect-blog'),
            '700' => __('700','perfect-blog'),
            '800' => __('800','perfect-blog'),
            '900' => __('900','perfect-blog'),
        ),
	) );

	$wp_customize->add_setting('perfect_blog_footer_text_tranform',array(
		'default' => 'Uppercase',
		'sanitize_callback' => 'perfect_blog_sanitize_choices'
 	));
 	$wp_customize->add_control('perfect_blog_footer_text_tranform',array(
		'type' => 'radio',
		'label' => __('Footer Heading Text Transform','perfect-blog'),
		'section' => 'perfect_blog_footer_section',
		'choices' => array(
		   'Uppercase' => __('Uppercase','perfect-blog'),
		   'Lowercase' => __('Lowercase','perfect-blog'),
		   'Capitalize' => __('Capitalize','perfect-blog'),
		),
	) );

	$wp_customize->selective_refresh->add_partial('perfect_blog_show_hide_copyright', array(
		'selector' => '.copyright',
		'render_callback' => 'perfect_blog_customize_partial_perfect_blog_show_hide_copyright',
	));

	$wp_customize->add_setting('perfect_blog_show_hide_copyright',array(
		'default' => true,
		'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
	));
	$wp_customize->add_control('perfect_blog_show_hide_copyright',array(
     	'type' => 'checkbox',
        'label' => __('Show / Hide Copyright','perfect-blog'),
        'section' => 'perfect_blog_footer_section',
	));
	
	$wp_customize->add_setting('perfect_blog_footer_copy',array(
		'default'	=> '',
		'sanitize_callback'	=> 'sanitize_text_field',
	));	
	$wp_customize->add_control('perfect_blog_footer_copy',array(
		'label'	=> __('Copyright Text','perfect-blog'),
		'section'	=> 'perfect_blog_footer_section',
		'type'		=> 'text'
	));

	$wp_customize->add_setting('perfect_blog_copyright_bg_color_settings', array(
		'default'           => '',
		'sanitize_callback' => 'sanitize_hex_color',
	));
	$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'perfect_blog_copyright_bg_color_settings', array(
		'label'    => __('Copyright Background Color', 'perfect-blog'),
		'section'  => 'perfect_blog_footer_section',
	)));

	$wp_customize->add_setting('perfect_blog_copyright_content_align',array(
        'default' => 'center',
	  	'sanitize_callback' => 'perfect_blog_sanitize_choices',
	));
	$wp_customize->add_control('perfect_blog_copyright_content_align',array(
        'type' => 'select',
        'label' => __('Copyright Text Alignment ','perfect-blog'),
        'section' => 'perfect_blog_footer_section',
        'choices' => array(
            'left' => __('Left','perfect-blog'),
            'right' => __('Right','perfect-blog'),
            'center' => __('Center','perfect-blog'),
        ),
	) );

	$wp_customize->add_setting('perfect_blog_footer_content_font_size',array(
		'default'=> 15,
		'sanitize_callback'	=> 'perfect_blog_sanitize_float',
	));
	$wp_customize->add_control('perfect_blog_footer_content_font_size',array(
		'label' => esc_html__( 'Copyright Font Size','perfect-blog' ),
		'section'=> 'perfect_blog_footer_section',
		'input_attrs' => array(
            'step'             => 1,
			'min'              => 0,
			'max'              => 50,
        ),
        'type' => 'number',
	));

	$wp_customize->add_setting('perfect_blog_copyright_padding',array(
		'default'=> 15,
		'sanitize_callback'	=> 'perfect_blog_sanitize_float',
	));
	$wp_customize->add_control('perfect_blog_copyright_padding',array(
		'label'	=> __('Copyright Padding','perfect-blog'),
		'input_attrs' => array(
            'step'             => 1,
			'min'              => 0,
			'max'              => 50,
        ),
		'section'=> 'perfect_blog_footer_section',
		'type'=> 'number'
	));

	$wp_customize->add_setting('perfect_blog_footer_text_color', array(
		'default'           => '',
		'sanitize_callback' => 'sanitize_hex_color',
	));
	$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'perfect_blog_footer_text_color', array(
		'label'    => __('Copyright Text Color', 'perfect-blog'),
		'section'  => 'perfect_blog_footer_section',
	)));

	$wp_customize->add_setting('perfect_blog_footer_text_bg_color', array(
		'default'           => '',
		'sanitize_callback' => 'sanitize_hex_color',
	));
	$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'perfect_blog_footer_text_bg_color', array(
		'label'    => __('Copyright Background Color', 'perfect-blog'),
		'section'  => 'perfect_blog_footer_section',
	)));

	$wp_customize->selective_refresh->add_partial( 'perfect_blog_enable_disable_scroll', array(
		'selector' => '#scroll-top i',
		'render_callback' => 'perfect_blog_customize_partial_perfect_blog_enable_disable_scroll',
	));

	$wp_customize->add_setting('perfect_blog_enable_disable_scroll',array(
        'default' => true,
        'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
	));
	$wp_customize->add_control('perfect_blog_enable_disable_scroll',array(
     	'type' => 'checkbox',
      	'label' => __('Show / Hide Scroll Top Button','perfect-blog'),
      	'section' => 'perfect_blog_footer_section',
	));

	$wp_customize->add_setting('perfect_blog_back_to_top_icon',array(
		'default'	=> 'fas fa-chevron-up',
		'sanitize_callback'	=> 'sanitize_text_field'
	));
	$wp_customize->add_control(new Perfect_Blog_Icon_Changer(
        $wp_customize,'perfect_blog_back_to_top_icon',array(
		'label'	=> __('Scroll Back to Top Icon','perfect-blog'),
		'transport' => 'refresh',
		'section'	=> 'perfect_blog_footer_section',
		'type'		=> 'icon'
	)));

    $wp_customize->add_setting('perfect_blog_back_to_top_bg_color', array(
		'default'           => 'var(--primary-color)',
		'sanitize_callback' => 'sanitize_hex_color',
	));
	$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'perfect_blog_back_to_top_bg_color', array(
		'label'    => __('Back to Top Background Color', 'perfect-blog'),
		'section'  => 'perfect_blog_footer_section',
	)));

    $wp_customize->add_setting('perfect_blog_back_to_top_bg_hover_color', array(
		'default'           => 'var(--primary-color)',
		'sanitize_callback' => 'sanitize_hex_color',
	));
	$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'perfect_blog_back_to_top_bg_hover_color', array(
		'label'    => __('Back to Top Background Hover Color', 'perfect-blog'),
		'section'  => 'perfect_blog_footer_section',
	)));

	$wp_customize->add_setting('perfect_blog_scroll_setting',array(
        'default' => 'Right',
	  'sanitize_callback' => 'perfect_blog_sanitize_choices',
	));
	$wp_customize->add_control('perfect_blog_scroll_setting',array(
        'type' => 'select',
        'label' => __('Scroll Back to Top Position','perfect-blog'),
        'section' => 'perfect_blog_footer_section',
        'choices' => array(
            'Left' => __('Left','perfect-blog'),
            'Right' => __('Right','perfect-blog'),
            'Center' => __('Center','perfect-blog'),
        ),
	) );

	$wp_customize->add_setting('perfect_blog_scroll_font_size_icon',array(
		'default'=> 20,
		'sanitize_callback'	=> 'perfect_blog_sanitize_float',
	));
	$wp_customize->add_control('perfect_blog_scroll_font_size_icon',array(
		'label'	=> __('Scroll Icon Font Size','perfect-blog'),
		'section'=> 'perfect_blog_footer_section',
		'input_attrs' => array(
            'step'             => 1,
			'min'              => 0,
			'max'              => 50,
        ),
        'type' => 'number',
	) );

	//Footer Social Icon
	$wp_customize->add_section( 'perfect_blog_footer_social_icon' , array(
    	'title'      => __( 'Footer Social Icon Settings', 'perfect-blog' ),
		'panel' => 'perfect_blog_panel_id'
	) );

	$wp_customize->add_setting('perfect_blog_show_hide_footer_social_icon',array(
		'default' => false,
		'sanitize_callback'	=> 'perfect_blog_sanitize_checkbox'
	));
	$wp_customize->add_control('perfect_blog_show_hide_footer_social_icon',array(
     	'type' => 'checkbox',
      	'label' => __('Show / Hide Footer Social Icon','perfect-blog'),
      	'section' => 'perfect_blog_footer_social_icon',
	));

	for ( $perfect_blog_j = 1; $perfect_blog_j <= 5; $perfect_blog_j++ ) {
		$wp_customize->add_setting('perfect_blog_social_icon_url' .$perfect_blog_j,array(
			'default'	=> '',
			'sanitize_callback'	=> 'esc_url_raw'
		));	
		$wp_customize->add_control('perfect_blog_social_icon_url' .$perfect_blog_j,array(
			'label'	=> __('Add Social link','perfect-blog'),
			'section'	=> 'perfect_blog_footer_social_icon',
			'setting'	=> 'perfect_blog_social_icon_url' .$perfect_blog_j,
			'type'	=> 'url'
		));

		$wp_customize->add_setting('perfect_blog_select_social_icon' .$perfect_blog_j,array(
			'default'	=> '',
			'sanitize_callback'	=> 'sanitize_text_field'
		));
		$wp_customize->add_control(new Perfect_Blog_Icon_Changer(
	        $wp_customize,'perfect_blog_select_social_icon' .$perfect_blog_j,array(
			'label'	=> __('Add Social Icon','perfect-blog'),
			'transport' => 'refresh',
			'section'	=> 'perfect_blog_footer_social_icon',
			'type'		=> 'icon'
		)));
	}

	$wp_customize->add_setting('perfect_blog_align_footer_social_icon',array(
        'default' => 'center',
        'sanitize_callback' => 'perfect_blog_sanitize_choices'
	));
	$wp_customize->add_control('perfect_blog_align_footer_social_icon',array(
        'type' => 'select',
        'label' => __('Social Icon Alignment ','perfect-blog'),
        'section' => 'perfect_blog_footer_social_icon',
        'choices' => array(
            'left' => __('Left','perfect-blog'),
            'right' => __('Right','perfect-blog'),
            'center' => __('Center','perfect-blog'),
        ),
	) );

	$wp_customize->add_setting('perfect_blog_footer_icon_font_size',array(
		'default'=> '',
		'sanitize_callback'	=> 'perfect_blog_sanitize_float'
	));
	$wp_customize->add_control('perfect_blog_footer_icon_font_size',array(
		'label'	=> __('Footer Icon Font Size','perfect-blog'),
		'input_attrs' => array(
            'step'             => 1,
			'min'              => 0,
			'max'              => 50,
        ),
		'section'=> 'perfect_blog_footer_social_icon',
		'type'=> 'number'
	));

	$wp_customize->add_setting('perfect_blog_footer_icon_color', array(
		'default'           => '',
		'sanitize_callback' => 'sanitize_hex_color',
	));
	$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'perfect_blog_footer_icon_color', array(
		'label'    => __('Icon Color', 'perfect-blog'),
		'section'  => 'perfect_blog_footer_social_icon',
	)));

	// Copyright Sticky //
	$wp_customize->add_setting( 'perfect_blog_copyright_sticky',array(
      'default' => 0,
      'transport' => 'refresh',
      'sanitize_callback' => 'perfect_blog_sanitize_checkbox'
    ) );
    $wp_customize->add_control('perfect_blog_copyright_sticky',array(
		'type' => 'checkbox',
      'label' => __('Show / Hide Sticky Copyright','perfect-blog'),
      'section' => 'perfect_blog_footer_section',
    ));

}
add_action( 'customize_register', 'perfect_blog_customize_register' );	

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

/**
 * Singleton class for handling the theme's customizer integration.
 *
 * @since  1.0.0
 * @access public
 */
final class Perfect_Blog_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( 'Perfect_Blog_Customize_Section_Pro' );

		// Register sections.
		$manager->add_section(
			new Perfect_Blog_Customize_Section_Pro(
				$manager,
				'perfect_blog_example_1',
				array(
					'priority'   => 9,
					'title'    => esc_html__( 'Blog Pro Theme', 'perfect-blog' ),
					'pro_text' => esc_html__( 'Get Pro', 'perfect-blog' ),
					'pro_url'  => esc_url('https://www.themescaliber.com/products/premium-wordpress-blog-theme'),
				)
			)
		);

		$manager->add_section(
			new Perfect_Blog_Customize_Section_Pro(
				$manager,
				'perfect_blog_doc_link',
				array(
					'priority'   => 10,
					'title'    => esc_html__( 'Guide', 'perfect-blog' ),
					'pro_text' => esc_html__( 'Documentation', 'perfect-blog' ),
					'pro_url'  => esc_url('https://preview.themescaliber.com/doc/free-perfect-blog/'),
				)
			)
		);

		$manager->add_section(
			new Perfect_Blog_Customize_Section_Pro(
				$manager,
				'perfect_blog_demo_link',
				array(
					'priority'   => 11,
					'title'    => esc_html__( 'Live Demo', 'perfect-blog' ),
					'pro_text' => esc_html__( 'Preview', 'perfect-blog' ),
					'pro_url'  => esc_url('https://preview.themescaliber.com/perfect-blog/'),
				)
			)
		);
	}

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

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

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

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