<?php

/**
 * customizer.php
 *
 * @author    Denis Franchi
 * @package   Willer
 * @param WP_Customize_Manager
 */

/* TABLE OF CONTENT

 1 - Customizer
     1.1 - Setup default
		 1.2 - General Settings
		 1.3 - Logo
		 1.4 - Category Static Header
		 1.5 - Section Home page Willer
		 1.7 - Social
		 1.8 - Footer - 1.9 Go Pro
 2 - Function Customizer for button-shortcut
 3 - Function javascript for refresh Customizer
 4 - CSS Customize
 5 - Add Class Customizer
 6 - General Sanitization
 7 - Calback Social
 8 - Effect Image Section 
 9 - Calback Footer

*/

// Remove Default Section
function willer_remove_sections($wp_customize)
{

	// Section Color
	$wp_customize->remove_section('colors');
}
add_action('customize_register', 'willer_remove_sections');

/* ------------------------------------------------------ *
##   1 Customizer
/* ------------------------------------------------------ */

function willer_customize_register($wp_customize)
{

	/* ------------------------------------------------------ *
##   1.1 Setup default
/* ------------------------------------------------------ */

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

	if (isset($wp_customize->selective_refresh)) {
		$wp_customize->selective_refresh->add_partial('blogname', array(
			'selector'        => '.site-title a',
			'render_callback' => 'willer_customize_partial_blogname',
		));
		$wp_customize->selective_refresh->add_partial('blogdescription', array(
			'selector'        => '.site-description',
			'render_callback' => 'willer_customize_partial_blogdescription',
		));
		$wp_customize->selective_refresh->add_partial('testo', array(
			'selector'        => 'h6.text-capitalize1',
			'render_callback' => 'willer_customize_partial_testo',
		));
	}


	/* ------------------------------------------------------ *
##  1.2 General Settings
/* ------------------------------------------------------ */

	$willerGeneralsettings = new Willer_WP_Customize_Panel($wp_customize, 'willer_generalsettings', array(
		'title'    => __('Other Settings', 'willer'),
		'priority' => 5,
	));

	$wp_customize->add_panel($willerGeneralsettings);

	// Settings Preloader
	$wp_customize->add_section(
		'willer_preloader_section',
		array(
			'title'      => __('Preloader', 'willer'),
			'priority'   => 10,
			'capability' => 'edit_theme_options',
			'panel'      => 'willer_generalsettings',
		)
	);

	// Settings Login
	$wp_customize->add_section(
		'willer_login_section',
		array(
			'title'      => __('Login', 'willer'),
			'priority'   => 20,
			'capability' => 'edit_theme_options',
			'panel'      => 'willer_generalsettings',
		)
	);

	// Settings Effect Image
	$wp_customize->add_section(
		'willer_effect_image_section',
		array(
			'title'      => __('Scroll Effect Images', 'willer'),
			'priority'   => 300,
			'capability' => 'edit_theme_options',
			'panel'      => 'willer_generalsettings',
		)
	);

	// Enable/Disable Effect Images
	$wp_customize->add_setting(
		'wl_enable_effect_image',
		array(
			'default'           => 0,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'wl_enable_effect_image',
		array(
			'label'      => __('Enable/Disable Effect Images', 'willer'),
			'description' => __('Enable or Disable scroll images appearance effect', 'willer'),
			'section'    => 'willer_effect_image_section',
			'priority'   => 10,
		)
	));

	// Settings Back To Top
	$wp_customize->add_section(
		'willer_back_top_section',
		array(
			'title'      => __('Back To Top', 'willer'),
			'priority'   => 30,
			'capability' => 'edit_theme_options',
			'panel'      => 'willer_generalsettings',
		)
	);

	// Enable/Disable Back To Top
	$wp_customize->add_setting(
		'wl_enable_back_top',
		array(
			'default'           => 0,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'wl_enable_back_top',
		array(
			'label'      => __('Enable/Disable Back To Top.', 'willer'),
			'description' => __('Enable or Disable Back To Top.', 'willer'),
			'section'    => 'willer_back_top_section',
			'priority'   => 10,
		)
	));

	//Position Back To top
	$wp_customize->add_setting(
		'willer_position_top',
		array(
			'default'   => 1,
			'transport' => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'willer_position_top',
		array(
			'label'   => __('Enable Position Back To Top Left', 'willer'),
			'section' => 'willer_back_top_section',
			'priority' => 11,
		)
	));

	// Background Color Back To Top
	$wp_customize->add_setting(
		'willer_background_color_backtotop',
		array(
			'default' => '#212020',
			'sanitize_callback' => 'willer_hex_rgba_sanitization',
		)
	);
	$wp_customize->add_control(new Willer_Customize_Alpha_Color_Control(
		$wp_customize,
		'willer_background_color_backtotop',
		array(
			'label' => __('Background Color Back To Top', 'willer'),
			'section' => 'willer_back_top_section',
			'priority' => 12,
			'show_opacity' => true,
		)
	));

	// Color Back To Top
	$wp_customize->add_setting(
		'willer_color_backtotop',
		array(
			'default' => '#fff',
			'sanitize_callback' => 'willer_hex_rgba_sanitization',
		)
	);
	$wp_customize->add_control(new Willer_Customize_Alpha_Color_Control(
		$wp_customize,
		'willer_color_backtotop',
		array(
			'label' => __('Color Back To Top', 'willer'),
			'section' => 'willer_back_top_section',
			'priority' => 13,
			'show_opacity' => true,
		)
	));

	// Settings Breadcrumbs
	$wp_customize->add_section(
		'willer_breadcrumbs_section',
		array(
			'title'      => __('Breadcrumbs', 'willer'),
			'priority'   => 31,
			'capability' => 'edit_theme_options',
			'panel'      => 'willer_generalsettings',
		)
	);

	// Enable/Disable Breadcrumbs
	$wp_customize->add_setting(
		'wl_enable_breadcrumbs',
		array(
			'default'           => 1,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'wl_enable_breadcrumbs',
		array(
			'label'      => __('Enable/Disable Breadcrumbs', 'willer'),
			'section'    => 'willer_breadcrumbs_section',
			'priority'   => 10,
		)
	));

	// Menu Right
	$wp_customize->add_section(
		'willer_menu_right_section',
		array(
			'title'      => __('Menu Right', 'willer'),
			'priority'   => 50,
			'capability' => 'edit_theme_options',
			'panel'      => 'willer_generalsettings',
		)
	);

	// Enable/Disable Menu Right
	$wp_customize->add_setting(
		'wl_enable_menu_right',
		array(
			'default'           => 1,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'wl_enable_menu_right',
		array(
			'label'      => __('Enable/Disable Menu Right.', 'willer'),
			'section'    => 'willer_menu_right_section',
			'priority'   => 5,
		)
	));

	// Pagename Menu Right
	$wp_customize->add_setting('willer_page_id_about_menu_right', array(
		'capability'        => 'edit_theme_options',
		'sanitize_callback' => 'willer_sanitize_dropdown_pages',
	));

	$wp_customize->add_control('willer_page_id_about_menu_right', array(
		'type'        => 'dropdown-pages',
		'section'     => 'willer_menu_right_section',
		'label'       => __('Select Menu Right page.', 'willer'),
		'description' => __('Select the page for Menu Right.', 'willer'),
		'priority'    => 10,
	));

	// Enable/Disable Social
	$wp_customize->add_setting(
		'wl_enable_social_menu_right',
		array(
			'default'           => 1,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'wl_enable_social_menu_right',
		array(
			'label'      => __('Enable/Disable Social Icons.', 'willer'),
			'description' => __('Enable or Disable Social Icons in Menu Right!', 'willer'),
			'section'    => 'willer_menu_right_section',
			'priority'   => 20,
		)
	));

	// Nav Menu 
	$wp_customize->add_section(
		'willer_navmenu_section',
		array(
			'title'      => __('Nav Menu', 'willer'),
			'priority'   => 49,
			'capability' => 'edit_theme_options',
			'panel'      => 'willer_generalsettings',
		)
	);

	// Background Color Menu
	$wp_customize->add_setting(
		'willer_background_color_navbarmenu',
		array(
			'default' => '#000',
			'sanitize_callback' => 'willer_hex_rgba_sanitization',
		)
	);
	$wp_customize->add_control(new Willer_Customize_Alpha_Color_Control(
		$wp_customize,
		'willer_background_color_navbarmenu',
		array(
			'label' => __('Background Color navbar menu', 'willer'),
			'section' => 'willer_navmenu_section',
			'priority' => 10,
			'show_opacity' => true,
		)
	));

	// Color Menu
	$wp_customize->add_setting(
		'willer_color_navbarmenu',
		array(
			'default' => '#ccc',
			'sanitize_callback' => 'willer_hex_rgba_sanitization',
		)
	);
	$wp_customize->add_control(new Willer_Customize_Alpha_Color_Control(
		$wp_customize,
		'willer_color_navbarmenu',
		array(
			'label' => __('Color navbar menu', 'willer'),
			'section' => 'willer_navmenu_section',
			'priority' => 20,
			'show_opacity' => true,
		)
	));

	// Color Menu active
	$wp_customize->add_setting(
		'willer_color_navbarmenu_active',
		array(
			'default' => '#fff',
			'sanitize_callback' => 'willer_hex_rgba_sanitization',
		)
	);
	$wp_customize->add_control(new Willer_Customize_Alpha_Color_Control(
		$wp_customize,
		'willer_color_navbarmenu_active',
		array(
			'label' => __('Color navbar menu active and underscore dropdown menu', 'willer'),
			'section' => 'willer_navmenu_section',
			'priority' => 30,
			'show_opacity' => true,
		)
	));

	// Enable underscore hover
	$wp_customize->add_setting(
		'willer_enable_underscore_menu',
		array(
			'default'           => 0,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'willer_enable_underscore_menu',
		array(
			'label'    => __('Enable/Disable underscore menu hover', 'willer'),
			'section'  => 'willer_navmenu_section',
			'priority' => 50,
		)
	));

	// Font size menu
	$wp_customize->add_setting(
		'willer_font_size_menu',
		array(
			'default'           => 14,
			'transport'         => 'postMessage',
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_font_size_menu',
		array(
			'label'       => __('Font size menu (px Unit)', 'willer'),
			'section'     => 'willer_navmenu_section',
			'priority'    => 60,
			'input_attrs' => array(
				'min'       => 5,
				'max'       => 30,
				'step'      => 1,
			),
		)
	));

	// Padding menu
	$wp_customize->add_setting(
		'willer_padding_menu',
		array(
			'default'           => 10,
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_padding_menu',
		array(
			'label'       => __('Padding menu (px Unit)', 'willer'),
			'section'     => 'willer_navmenu_section',
			'priority'    => 70,
			'input_attrs' => array(
				'min'       => 2,
				'max'       => 30,
				'step'      => 1,
			),
		)
	));

	// Excerpt length section
	$wp_customize->add_section(
		'willer_excerpt_lenght_section',
		array(
			'title'      => __('Excerpt length', 'willer'),
			'priority'   => 60,
			'capability' => 'edit_theme_options',
			'panel'      => 'willer_generalsettings',
		)
	);

	// Excerpt length
	$wp_customize->add_setting(
		'willer_excerpt_lenght',
		array(
			'default'           => 10,
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_excerpt_lenght',
		array(
			'label'       => __('Set the length of the Excerpt', 'willer'),
			'section'     => 'willer_excerpt_lenght_section',
			'priority'    => 10,
			'input_attrs' => array(
				'min'       => 0,
				'max'       => 100,
				'step'      => 1,
			),
		)
	));

	/* --------------------------------------------------------*
##  1.3 Logo
/* --------------------------------------------------------*/

	// Enable Effect Rotate Logo
	$wp_customize->add_setting(
		'willer_enable_rotate_logo',
		array(
			'default'           => 1,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'willer_enable_rotate_logo',
		array(
			'label'    => __('Enable/Disable rotation logo', 'willer'),
			'section'  => 'title_tagline',
			'priority' => 51,
		)
	));

	// Font Size Logo
	$wp_customize->add_setting(
		'willer_font_size_logo',
		array(
			'default'           => 80,
			'transport'         => 'postMessage',
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_font_size_logo',
		array(
			'label'       => __('Font size Logo (px)', 'willer'),
			'section'     => 'title_tagline',
			'priority'    => 52,
			'input_attrs' => array(
				'min'       => 50,
				'max'       => 450,
				'step'      => 1,
			),
		)
	));

	// Font size title site
	$wp_customize->add_setting(
		'willer_font_size_title_site',
		array(
			'default'           => 22,
			'transport'         => 'postMessage',
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_font_size_title_site',
		array(
			'label'       => __('Font size Title Site (px)', 'willer'),
			'section'     => 'title_tagline',
			'priority'    => 53,
			'input_attrs' => array(
				'min'       => 0,
				'max'       => 120,
				'step'      => 1,
			),
		)
	));

	// Font size subtitle site
	$wp_customize->add_setting(
		'willer_font_size_subtitle_site',
		array(
			'default'           => 12,
			'transport'         => 'postMessage',
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_font_size_subtitle_site',
		array(
			'label'       => __('Font size Description Site (px)', 'willer'),
			'section'     => 'title_tagline',
			'priority'    => 54,
			'input_attrs' => array(
				'min'       => 0,
				'max'       => 80,
				'step'      => 1,
			),
		)
	));

	/* ------------------------------------------------------ *
##  1.4 Category Static Header
/* ------------------------------------------------------ */

	$wp_customize->add_setting(
		'willer_category_static_header',
		array(
			'default'           => '',
			'sanitize_callback' => 'willer_sanitize_category_select',
		)
	);

	$wp_customize->add_control(
		new Willer_Customize_category_Control(
			$wp_customize,
			'willer_category_static_header',
			array(
				'label'       => __('Select Category Post for Header Static/Video', 'willer'),
				'description' => __('Select the category for the first posts Header Static in Home page Willer.', 'willer'),
				'settings'    => 'willer_category_static_header',
				'section'     => 'header_image',
				'priority'    => 10,
			)
		)
	);

	// Enable/Disable Text
	$wp_customize->add_setting(
		'wl_enable_text_header_static',
		array(
			'default'           => 0,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'wl_enable_text_header_static',
		array(
			'label'      => __('Enable/Disable Text section Header Static/Video', 'willer'),
			'section'    => 'header_image',
			'priority'   => 11,
		)
	));

	// Enable/Disable Button
	$wp_customize->add_setting(
		'wl_enable_button_video',
		array(
			'default'           => 0,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'wl_enable_button_video',
		array(
			'label'      => __('Enable/Disable Button Video', 'willer'),
			'section'    => 'header_image',
			'priority'   => 12,
		)
	));

	// Font Size Title Header Static/Video
	$wp_customize->add_setting(
		'willer_font_size_title_header_static',
		array(
			'default'           => 44,
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_font_size_title_header_static',
		array(
			'label'       => __('Font size title Header Static/Video (px Unit)', 'willer'),
			'section'     => 'header_image',
			'priority'    => 13,
			'input_attrs' => array(
				'min'       => 10,
				'max'       => 150,
				'step'      => 1,
			),
		)
	));

	// Font Size Subtitle Header Static/Video
	$wp_customize->add_setting(
		'willer_font_size_subtitle_header_static',
		array(
			'default'           => 16,
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_font_size_subtitle_header_static',
		array(
			'label'       => __('Font size subtitle Header Static/Video (px Unit)', 'willer'),
			'section'     => 'header_image',
			'priority'    => 14,
			'input_attrs' => array(
				'min'       => 0,
				'max'       => 150,
				'step'      => 1,
			),
		)
	));

	// Color Title Header Static/Video
	$wp_customize->add_setting(
		'willer_color_title_header_static',
		array(
			'default' => '#fff',
			'sanitize_callback' => 'willer_hex_rgba_sanitization',
		)
	);
	$wp_customize->add_control(new Willer_Customize_Alpha_Color_Control(
		$wp_customize,
		'willer_color_title_header_static',
		array(
			'label' => __('Color Text Header Static/Video', 'willer'),
			'section' => 'header_image',
			'priority' => 15,
			'show_opacity' => true,
		)
	));

	/* ----------------------------------------------------*
##  1.5 Section Home page Willer
/* ----------------------------------------------------*/

	$willerSectionHome = new Willer_WP_Customize_Panel($wp_customize, 'willer_section_home_settings', array(
		'title'    => __('Sections', 'willer'),
		'priority' => 6,
	));

	$wp_customize->add_panel($willerSectionHome);

	// Section Services
	$wp_customize->add_section(
		'willer_services_section',
		array(
			'title'      => __('Services', 'willer'),
			'priority'   => 10,
			'capability' => 'edit_theme_options',
			'panel'      => 'willer_section_home_settings',
		)
	);

	// Pagename  Services
	$wp_customize->add_setting('wl_pagename_services', array(
		'capability'        => 'edit_theme_options',
		'sanitize_callback' => 'willer_sanitize_dropdown_pages',
	));

	$wp_customize->add_control('wl_pagename_services', array(
		'type'        => 'dropdown-pages',
		'section'     => 'willer_services_section',
		'label'       => __('Select Services page.', 'willer'),
		'description' => __('Select the page for Services in Home page Willer.', 'willer'),
		'priority'    => 10,
	));

	// Services
	$wp_customize->add_setting(
		'willer_category_services',
		array(
			'default'           => '',
			'sanitize_callback' => 'willer_sanitize_category_select',
		)
	);

	$wp_customize->add_control(
		new Willer_Customize_category_Control(
			$wp_customize,
			'willer_category_services',
			array(
				'label'       => __('Select Category Post for Services', 'willer'),
				'description' => __('Select the category for the posts Services in Home page Willer.', 'willer'),
				'settings'    => 'willer_category_services',
				'section'     => 'willer_services_section',
				'priority'    => 20,
			)
		)
	);

	// Size Image
	$wp_customize->add_setting(
		'willer_size_image_services',
		array(
			'default'           => 80,
			'transport'         => 'postMessage',
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_size_image_services',
		array(
			'label'       => __('Width Images (px Unit)', 'willer'),
			'section'     => 'willer_services_section',
			'priority'    => 25,
			'input_attrs' => array(
				'min'       => 10,
				'max'       => 400,
				'step'      => 1,
			),
		)
	));


	// Margin Top Services
	$wp_customize->add_setting(
		'willer_margin_top_services',
		array(
			'default'           => 3,
			'transport'         => 'postMessage',
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_margin_top_services',
		array(
			'label'       => __('Margin Top Section (em Unit)', 'willer'),
			'section'     => 'willer_services_section',
			'priority'    => 30,
			'input_attrs' => array(
				'min'       => 0,
				'max'       => 15,
				'step'      => 1,
			),
		)
	));

	// Margin Bottom Services
	$wp_customize->add_setting(
		'willer_margin_bottom_services',
		array(
			'default'           => 0,
			'transport'         => 'postMessage',
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_margin_bottom_services',
		array(
			'label'       => __('Margin Bottom Section (em Unit)', 'willer'),
			'section'     => 'willer_services_section',
			'priority'    => 40,
			'input_attrs' => array(
				'min'       => 0,
				'max'       => 15,
				'step'      => 1,
			),
		)
	));

	// Section Gallery
	$wp_customize->add_section(
		'willer_gallery_section',
		array(
			'title'      => __('Gallery', 'willer'),
			'priority'   => 20,
			'capability' => 'edit_theme_options',
			'panel'      => 'willer_section_home_settings',
		)
	);

	// Gallery 1
	$wp_customize->add_setting(
		'willer_category_gallery_1',
		array(
			'default'   => '',
			'sanitize_callback' => 'willer_sanitize_category_select',
		)
	);

	$wp_customize->add_control(
		new Willer_Customize_category_Control(
			$wp_customize,
			'willer_category_gallery_1',
			array(
				'label'       => __('Select Category Post for Gallery 1', 'willer'),
				'description' => __('Select the category for the posts Gallery 1 in Home page Willer.', 'willer'),
				'settings'    => 'willer_category_gallery_1',
				'section'     => 'willer_gallery_section',
				'priority'    => 10,
			)
		)
	);

	// Gallery 2
	$wp_customize->add_setting(
		'willer_category_gallery_2',
		array(
			'default'           => '',
			'sanitize_callback' => 'willer_sanitize_category_select',
		)
	);

	$wp_customize->add_control(
		new Willer_Customize_category_Control(
			$wp_customize,
			'willer_category_gallery_2',
			array(
				'label'       => __('Select Category Post for Gallery 2', 'willer'),
				'description' => __('Select the category for the posts Gallery 2 in Home page Willer.', 'willer'),
				'settings'    => 'willer_category_gallery_2',
				'section'     => 'willer_gallery_section',
				'priority'    => 20,
			)
		)
	);

	// Gallery 3
	$wp_customize->add_setting(
		'willer_category_gallery_3',
		array(
			'default'           => '',
			'sanitize_callback' => 'willer_sanitize_category_select',
		)
	);

	$wp_customize->add_control(
		new Willer_Customize_category_Control(
			$wp_customize,
			'willer_category_gallery_3',
			array(
				'label'       => __('Select Category Post for Gallery 3', 'willer'),
				'description' => __('Select the category for the posts Gallery 3 in Home page Willer.', 'willer'),
				'settings'    => 'willer_category_gallery_3',
				'section'     => 'willer_gallery_section',
				'priority'    => 30,
			)
		)
	);

	// Gallery 4
	$wp_customize->add_setting(
		'willer_category_gallery_4',
		array(
			'default'           => '',
			'sanitize_callback' => 'willer_sanitize_category_select',
		)
	);

	$wp_customize->add_control(
		new Willer_Customize_category_Control(
			$wp_customize,
			'willer_category_gallery_4',
			array(
				'label'       => __('Select Category Post for Gallery 4', 'willer'),
				'description' => __('Select the category for the posts Gallery 4 in Home page Willer.', 'willer'),
				'settings'    => 'willer_category_gallery_4',
				'section'     => 'willer_gallery_section',
				'priority'    => 40,
			)
		)
	);

	// Gallery 5
	$wp_customize->add_setting(
		'willer_category_gallery_5',
		array(
			'default'           => '',
			'sanitize_callback' => 'willer_sanitize_category_select',
		)
	);

	$wp_customize->add_control(
		new Willer_Customize_category_Control(
			$wp_customize,
			'willer_category_gallery_5',
			array(
				'label'       => __('Select Category Post for Gallery 5', 'willer'),
				'description' => __('Select the category for the posts Gallery 5 in Home page Willer.', 'willer'),
				'settings'    => 'willer_category_gallery_5',
				'section'     => 'willer_gallery_section',
				'priority'    => 50,
			)
		)
	);

	// Gallery 6
	$wp_customize->add_setting(
		'willer_category_gallery_6',
		array(
			'default'           => '',
			'sanitize_callback' => 'willer_sanitize_category_select',
		)
	);

	$wp_customize->add_control(
		new Willer_Customize_category_Control(
			$wp_customize,
			'willer_category_gallery_6',
			array(
				'label'       => __('Select Category Post for Gallery 6', 'willer'),
				'description' => __('Select the category for the posts Gallery 6 in Home page Willer.', 'willer'),
				'settings'    => 'willer_category_gallery_6',
				'section'     => 'willer_gallery_section',
				'priority'    => 60,
			)
		)
	);

	// Margin Top Gallery
	$wp_customize->add_setting(
		'willer_margin_top_gallery',
		array(
			'default'           => 0,
			'transport'         => 'postMessage',
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_margin_top_gallery',
		array(
			'label'       => __('Margin Top Section (em Unit)', 'willer'),
			'section'     => 'willer_gallery_section',
			'priority'    => 70,
			'input_attrs' => array(
				'min'       => 0,
				'max'       => 15,
				'step'      => 1,
			),
		)
	));

	// Margin Bottom Gallery
	$wp_customize->add_setting(
		'willer_margin_bottom_gallery',
		array(
			'default'           => 0,
			'transport'         => 'postMessage',
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_margin_bottom_gallery',
		array(
			'label'       => __('Margin Bottom Section (em Unit)', 'willer'),
			'section'     => 'willer_gallery_section',
			'priority'    => 80,
			'input_attrs' => array(
				'min'       => 0,
				'max'       => 15,
				'step'      => 1,
			),
		)
	));

	// Section Testimonials
	$wp_customize->add_section(
		'willer_testimonials_section',
		array(
			'title'      => __('Testimonials', 'willer'),
			'priority'   => 30,
			'capability' => 'edit_theme_options',
			'panel'      => 'willer_section_home_settings',
		)
	);

	// Category Testimonials
	$wp_customize->add_setting(
		'willer_category_testimonials',
		array(
			'default'           => '',
			'sanitize_callback' => 'willer_sanitize_category_select',
		)
	);

	$wp_customize->add_control(
		new Willer_Customize_category_Control(
			$wp_customize,
			'willer_category_testimonials',
			array(
				'label'       => __('Select Category Post for Testimonials Carousel', 'willer'),
				'description' => __('Select the category for the posts Testimonials Carousel in Home page Willer.', 'willer'),
				'settings'    => 'willer_category_testimonials',
				'section'     => 'willer_testimonials_section',
				'priority'    => 10,
			)
		)
	);

	// Margin Top testimonials
	$wp_customize->add_setting(
		'willer_margin_top_testimonial',
		array(
			'default'           => 0,
			'transport'         => 'postMessage',
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_margin_top_testimonial',
		array(
			'label'       => __('Margin Top Section (em Unit)', 'willer'),
			'section'     => 'willer_testimonials_section',
			'priority'    => 20,
			'input_attrs' => array(
				'min'       => 0,
				'max'       => 15,
				'step'      => 1,
			),
		)
	));

	// Margin Bottom testimonials
	$wp_customize->add_setting(
		'willer_margin_bottom_testimonial',
		array(
			'default'           => 0,
			'transport'         => 'postMessage',
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_margin_bottom_testimonial',
		array(
			'label'       => __('Margin Bottom Section (em Unit)', 'willer'),
			'section'     => 'willer_testimonials_section',
			'priority'    => 30,
			'input_attrs' => array(
				'min'       => 0,
				'max'       => 15,
				'step'      => 1,
			),
		)
	));

	// Section About Me
	$wp_customize->add_section(
		'willer_about_me_section',
		array(
			'title'      => __('About Me', 'willer'),
			'priority'   => 40,
			'capability' => 'edit_theme_options',
			'panel'      => 'willer_section_home_settings',
		)
	);

	// Pagename About
	$wp_customize->add_setting('wl_pagename_about_home_willer', array(
		'capability'        => 'edit_theme_options',
		'sanitize_callback' => 'willer_sanitize_dropdown_pages',
	));

	$wp_customize->add_control('wl_pagename_about_home_willer', array(
		'type'        => 'dropdown-pages',
		'section'     => 'willer_about_me_section',
		'label'       => __('Select About page.', 'willer'),
		'description' => __('Select the page for About in Home page Willer.', 'willer'),
		'priority'    => 10,
	));

	// Enable Effect Image
	$wp_customize->add_setting(
		'willer_enable_effect_image_about',
		array(
			'default'           => 0,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'willer_enable_effect_image_about',
		array(
			'label'    => __('Enable/Disable shadow image ', 'willer'),
			'section'  => 'willer_about_me_section',
			'priority' => 15,
		)
	));

	// Color Effect Image
	$wp_customize->add_setting(
		'willer_color_effect_img_about',
		array(
			'default' => '#f8f9fa',
			'sanitize_callback' => 'willer_hex_rgba_sanitization',
		)
	);
	$wp_customize->add_control(new Willer_Customize_Alpha_Color_Control(
		$wp_customize,
		'willer_color_effect_img_about',
		array(
			'label' => __('Color shadow image', 'willer'),
			'section' => 'willer_about_me_section',
			'active_callback' => 'willer_enable_effect_image_about',
			'priority' => 16,
			'show_opacity' => true,
		)
	));

	// Margin Top About
	$wp_customize->add_setting(
		'willer_margin_top_about',
		array(
			'default'           => 4,
			'transport'         => 'postMessage',
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_margin_top_about',
		array(
			'label'       => __('Margin Top Section (em Unit)', 'willer'),
			'section'     => 'willer_about_me_section',
			'priority'    => 20,
			'input_attrs' => array(
				'min'       => 0,
				'max'       => 15,
				'step'      => 1,
			),
		)
	));

	// Margin Bottom About
	$wp_customize->add_setting(
		'willer_margin_bottom_about',
		array(
			'default'           => 8,
			'transport'         => 'postMessage',
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_margin_bottom_about',
		array(
			'label'       => __('Margin Bottom Section (em Unit)', 'willer'),
			'section'     => 'willer_about_me_section',
			'priority'    => 30,
			'input_attrs' => array(
				'min'       => 0,
				'max'       => 15,
				'step'      => 1,
			),
		)
	));

	// Section Portfolio
	$wp_customize->add_section(
		'willer_portfolio_section',
		array(
			'title'      => __('Portfolio', 'willer'),
			'priority'   => 50,
			'capability' => 'edit_theme_options',
			'panel'      => 'willer_section_home_settings',
		)
	);

	// Portfolio
	$wp_customize->add_setting('willer_page_portfolio', array(
		'capability'        => 'edit_theme_options',
		'sanitize_callback' => 'willer_sanitize_dropdown_pages',
	));

	$wp_customize->add_control('willer_page_portfolio', array(
		'type'        => 'dropdown-pages',
		'section'     => 'willer_portfolio_section',
		'label'       => __('Select Page for Portfolio', 'willer'),
		'description' => __('Select the page for the Portfolio in Home page Willer.', 'willer'),
		'priority'    => 10,
	));

	// Enable Effect Image
	$wp_customize->add_setting(
		'willer_enable_effect_image_portfolio',
		array(
			'default'           => 0,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'willer_enable_effect_image_portfolio',
		array(
			'label'    => __('Enable/Disable shadow image ', 'willer'),
			'section'  => 'willer_portfolio_section',
			'priority' => 15,
		)
	));

	// Color Effect Image
	$wp_customize->add_setting(
		'willer_color_effect_img_portfolio',
		array(
			'default' => '#f8f9fa',
			'sanitize_callback' => 'willer_hex_rgba_sanitization',
		)
	);
	$wp_customize->add_control(new Willer_Customize_Alpha_Color_Control(
		$wp_customize,
		'willer_color_effect_img_portfolio',
		array(
			'label' => __('Color shadow image', 'willer'),
			'section' => 'willer_portfolio_section',
			'active_callback' => 'willer_enable_effect_image_portfolio',
			'priority' => 16,
			'show_opacity' => true,
		)
	));

	// Margin Top Portoflio
	$wp_customize->add_setting(
		'willer_margin_top_portfolio',
		array(
			'default'           => 0,
			'transport'         => 'postMessage',
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_margin_top_portfolio',
		array(
			'label'       => __('Margin Top Section (em Unit)', 'willer'),
			'section'     => 'willer_portfolio_section',
			'priority'    => 20,
			'input_attrs' => array(
				'min'       => 0,
				'max'       => 15,
				'step'      => 1,
			),
		)
	));

	// Margin Bottom Portfolio
	$wp_customize->add_setting(
		'willer_margin_bottom_portfolio',
		array(
			'default'           => 8,
			'transport'         => 'postMessage',
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_margin_bottom_portfolio',
		array(
			'label'       => __('Margin Bottom Section (em Unit)', 'willer'),
			'section'     => 'willer_portfolio_section',
			'priority'    => 30,
			'input_attrs' => array(
				'min'       => 0,
				'max'       => 15,
				'step'      => 1,
			),
		)
	));

	// Section Team
	$wp_customize->add_section(
		'willer_team_section',
		array(
			'title'      => __('Team', 'willer'),
			'priority'   => 60,
			'capability' => 'edit_theme_options',
			'panel'      => 'willer_section_home_settings',
		)
	);

	// Pagename Team
	$wp_customize->add_setting('wl_pagename_team', array(
		'capability'        => 'edit_theme_options',
		'sanitize_callback' => 'willer_sanitize_dropdown_pages',
	));

	$wp_customize->add_control('wl_pagename_team', array(
		'type'        => 'dropdown-pages',
		'section'     => 'willer_team_section',
		'label'       => __('Select Team page.', 'willer'),
		'description' => __('Select the page for Team in Home page Willer.', 'willer'),
		'priority'    => 10,
	));

	// Categoty Team
	$wp_customize->add_setting(
		'willer_category_team',
		array(
			'default'           => '',
			'sanitize_callback' => 'willer_sanitize_category_select',
		)
	);

	$wp_customize->add_control(
		new Willer_Customize_category_Control(
			$wp_customize,
			'willer_category_team',
			array(
				'label'       => __('Select Category Post for Team', 'willer'),
				'description' => __('Select the category for the posts Team in Home page Willer.', 'willer'),
				'settings'    => 'willer_category_team',
				'section'     => 'willer_team_section',
				'priority'    => 20,
			)
		)
	);

	// Margin Top Team
	$wp_customize->add_setting(
		'willer_margin_top_team',
		array(
			'default'           => 12,
			'transport'         => 'postMessage',
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_margin_top_team',
		array(
			'label'       => __('Margin Top Section (em Unit)', 'willer'),
			'section'     => 'willer_team_section',
			'priority'    => 30,
			'input_attrs' => array(
				'min'       => 0,
				'max'       => 15,
				'step'      => 1,
			),
		)
	));

	// Margin Bottom Team
	$wp_customize->add_setting(
		'willer_margin_bottom_team',
		array(
			'default'           => 0,
			'transport'         => 'postMessage',
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_margin_bottom_team',
		array(
			'label'       => __('Margin Bottom Section (em Unit)', 'willer'),
			'section'     => 'willer_team_section',
			'priority'    => 40,
			'input_attrs' => array(
				'min'       => 0,
				'max'       => 15,
				'step'      => 1,
			),
		)
	));

	// Section Blog
	$wp_customize->add_section(
		'willer_blog_section',
		array(
			'title'      => __('Blog', 'willer'),
			'priority'   => 70,
			'capability' => 'edit_theme_options',
			'panel'      => 'willer_section_home_settings',
		)
	);

	// Blog 1
	$wp_customize->add_setting(
		'willer_category_blog_1',
		array(
			'default'           => '',
			'sanitize_callback' => 'willer_sanitize_category_select',
		)
	);

	$wp_customize->add_control(
		new Willer_Customize_category_Control(
			$wp_customize,
			'willer_category_blog_1',
			array(
				'label'       => __('Select Category Post for Blog 1', 'willer'),
				'description' => __('Select the category for the first two posts in Home page Willer.', 'willer'),
				'settings'    => 'willer_category_blog_1',
				'section'     => 'willer_blog_section',
				'priority'    => 10,
			)
		)
	);

	// Blog 2
	$wp_customize->add_setting(
		'willer_category_blog_2',
		array(
			'default'           => '',
			'sanitize_callback' => 'willer_sanitize_category_select',
		)
	);

	$wp_customize->add_control(
		new Willer_Customize_category_Control(
			$wp_customize,
			'willer_category_blog_2',
			array(
				'label'       => __('Select Category Post for Blog 2', 'willer'),
				'description' => __('Select the category for the second two posts in Home page Willer.', 'willer'),
				'settings'    => 'willer_category_blog_2',
				'section'     => 'willer_blog_section',
				'priority'    => 20,
			)
		)
	);

	// Title Blog Slider
	$wp_customize->add_setting('willer_title_blog_slider', array(
		'capability'        => 'edit_theme_options',
		'default'           => '',
		'transport'         => 'postMessage',
		'sanitize_callback' => 'wp_filter_nohtml_kses',
	));

	$wp_customize->add_control('willer_title_blog_slider', array(
		'type'            => 'text',
		'section'         => 'willer_blog_section',
		'priority'        => 30,
		'label'           => __('Title Blog Slider', 'willer'),
		'description'     => __('Insert Title for Slider Blog in Home page Willer', 'willer'),
	));

	// Subtitle Blog Slider
	$wp_customize->add_setting('willer_subtitle_blog_slider', array(
		'capability'        => 'edit_theme_options',
		'default'           => '',
		'transport'         => 'postMessage',
		'sanitize_callback' => 'wp_filter_nohtml_kses',
	));

	$wp_customize->add_control('willer_subtitle_blog_slider', array(
		'type'            => 'text',
		'section'         => 'willer_blog_section',
		'priority'        => 40,
		'label'           => __('Subtitle Blog Slider', 'willer'),
		'description'     => __('Insert Subtitle for Slider Blog in Home page Willer', 'willer'),
	));

	// Blog slider
	$wp_customize->add_setting(
		'willer_category_blog_slider',
		array(
			'default'           => '',
			'sanitize_callback' => 'willer_sanitize_category_select',
		)
	);

	$wp_customize->add_control(
		new Willer_Customize_category_Control(
			$wp_customize,
			'willer_category_blog_slider',
			array(
				'label'       => __('Select Category Post for Blog Slider', 'willer'),
				'description' => __('Select the category for the posts Slider in Home page Willer.', 'willer'),
				'settings'    => 'willer_category_blog_slider',
				'section'     => 'willer_blog_section',
				'priority'    => 50,
			)
		)
	);

	// Enable time info Blog
	$wp_customize->add_setting(
		'willer_enable_time_section_blog',
		array(
			'default'           => 1,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'willer_enable_time_section_blog',
		array(
			'label'    => __('Enable/Disable time info', 'willer'),
			'section'  => 'willer_blog_section',
			'priority' => 60,
		)
	));

	// Enable Effect Image
	$wp_customize->add_setting(
		'willer_enable_effect_image_blog',
		array(
			'default'           => 0,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'willer_enable_effect_image_blog',
		array(
			'label'    => __('Enable/Disable shadow image ', 'willer'),
			'section'  => 'willer_blog_section',
			'priority' => 70,
		)
	));

	// Color Effect Image
	$wp_customize->add_setting(
		'willer_color_effect_img_blog',
		array(
			'default' => '#f8f9fa',
			'sanitize_callback' => 'willer_hex_rgba_sanitization',
		)
	);
	$wp_customize->add_control(new Willer_Customize_Alpha_Color_Control(
		$wp_customize,
		'willer_color_effect_img_blog',
		array(
			'label' => __('Color shadow image', 'willer'),
			'section' => 'willer_blog_section',
			'active_callback' => 'willer_enable_effect_image_blog',
			'priority' => 80,
			'show_opacity' => true,
		)
	));

	// Margin Top Blog
	$wp_customize->add_setting(
		'willer_margin_top_blog',
		array(
			'default'           => 8,
			'transport'         => 'postMessage',
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_margin_top_blog',
		array(
			'label'       => __('Margin Top Section (em Unit)', 'willer'),
			'section'     => 'willer_blog_section',
			'priority'    => 90,
			'input_attrs' => array(
				'min'       => 0,
				'max'       => 15,
				'step'      => 1,
			),
		)
	));

	// Margin Bottom Blog
	$wp_customize->add_setting(
		'willer_margin_bottom_blog',
		array(
			'default'           => 8,
			'transport'         => 'postMessage',
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_margin_bottom_blog',
		array(
			'label'       => __('Margin Bottom Section (em Unit)', 'willer'),
			'section'     => 'willer_blog_section',
			'priority'    => 100,
			'input_attrs' => array(
				'min'       => 0,
				'max'       => 15,
				'step'      => 1,
			),
		)
	));

	// Section Parallax
	$wp_customize->add_section(
		'willer_contact_section',
		array(
			'title'      => __('Parallax', 'willer'),
			'priority'   => 80,
			'capability' => 'edit_theme_options',
			'panel'      => 'willer_section_home_settings',
		)
	);

	// Pagename Parallax
	$wp_customize->add_setting('willer_page_parallax_process', array(
		'capability'        => 'edit_theme_options',
		'sanitize_callback' => 'willer_sanitize_dropdown_pages',
	));

	$wp_customize->add_control('willer_page_parallax_process', array(
		'type'        => 'dropdown-pages',
		'section'     => 'willer_contact_section',
		'priority'    => 10,
		'label'       => __('Select name page for Parallax', 'willer'),
		'description' => __('Select the page for the Parallax Section in Home page Willer.', 'willer'),
	));

	// Height Image Parallax
	$wp_customize->add_setting(
		'willer_height_image_parallax',
		array(
			'default'           => 450,
			'transport'         => 'postMessage',
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_height_image_parallax',
		array(
			'label'       => __('Height Image (px Unit)', 'willer'),
			'section'     => 'willer_contact_section',
			'priority'    => 20,
			'input_attrs' => array(
				'min'       => 320,
				'max'       => 1300,
				'step'      => 1,
			),
		)
	));

	// Position Button
	$wp_customize->add_setting(
		'willer_position_button_parallax',
		array(
			'default'           => 'center',
			'sanitize_callback' => 'willer_radio_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Text_Radio_Button_Custom_Control(
		$wp_customize,
		'willer_position_button_parallax',
		array(
			'label'    => __('Position Button', 'willer'),
			'priority' => 30,
			'section'  => 'willer_contact_section',
			'choices'  => array(
				'left' => __('Left', 'willer'),
				'center'  => __('Center', 'willer'),
				'right' => __('Right', 'willer')
			)
		)
	));

	// Margin Top Parallax
	$wp_customize->add_setting(
		'willer_margin_top_parallax',
		array(
			'default'           => 0,
			'transport'         => 'postMessage',
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_margin_top_parallax',
		array(
			'label'       => __('Margin Top Section (em Unit)', 'willer'),
			'section'     => 'willer_contact_section',
			'priority'    => 90,
			'input_attrs' => array(
				'min'       => 0,
				'max'       => 15,
				'step'      => 1,
			),
		)
	));

	// Margin Bottom Parallax
	$wp_customize->add_setting(
		'willer_margin_bottom_parallax',
		array(
			'default'           => 0,
			'transport'         => 'postMessage',
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_margin_bottom_parallax',
		array(
			'label'       => __('Margin Bottom Section (em Unit)', 'willer'),
			'section'     => 'willer_contact_section',
			'priority'    => 100,
			'input_attrs' => array(
				'min'       => 0,
				'max'       => 15,
				'step'      => 1,
			),
		)
	));

	// Section Slider
	$wp_customize->add_section(
		'willer_slider_section',
		array(
			'title'      => __('Slider', 'willer'),
			'priority'   => 1,
			'capability' => 'edit_theme_options',
			'panel'      => 'willer_section_home_settings',
		)
	);

	$wp_customize->add_setting(
		'willer_category_slider',
		array(
			'default'           => '',
			'sanitize_callback' => 'willer_sanitize_category_select',
		)
	);

	// Category Slider
	$wp_customize->add_control(new Willer_Customize_category_Control(
		$wp_customize,
		'willer_category_slider',
		array(
			'label'       => __('Select Category Post Slider', 'willer'),
			'settings'    => 'willer_category_slider',
			'section'     => 'willer_slider_section',
			'priority'    => 10,
		)
	));

	// Height Slider
	$wp_customize->add_setting(
		'willer_height_slider',
		array(
			'default'           => 600,
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_height_slider',
		array(
			'label'       => __('Height Slider (px Unit)', 'willer'),
			'section'     => 'willer_slider_section',
			'priority'    => 20,
			'input_attrs' => array(
				'min'       => 100,
				'max'       => 1200,
				'step'      => 1,
			),
		)
	));

	// Text Slider
	$wp_customize->add_setting(
		'willer_text_padding_slider',
		array(
			'default'           => 9,
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_text_padding_slider',
		array(
			'label'       => __('Margin Top Text Slider (em Unit)', 'willer'),
			'section'     => 'willer_slider_section',
			'priority'    => 30,
			'input_attrs' => array(
				'min'       => 0,
				'max'       => 80,
				'step'      => 1,
			),
		)
	));

	// Font size title Slider
	$wp_customize->add_setting(
		'willer_text_font_size_title_slider',
		array(
			'default'           => 25,
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_text_font_size_title_slider',
		array(
			'label'       => __('Font size Title Slider (px Unit)', 'willer'),
			'section'     => 'willer_slider_section',
			'priority'    => 40,
			'input_attrs' => array(
				'min'       => 0,
				'max'       => 150,
				'step'      => 1,
			),
		)
	));

	// Font size subtitle Slider
	$wp_customize->add_setting(
		'willer_text_font_size_subtitle_slider',
		array(
			'default'           => 16,
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_text_font_size_subtitle_slider',
		array(
			'label'       => __('Font size Subitle Slider (px Unit)', 'willer'),
			'section'     => 'willer_slider_section',
			'priority'    => 50,
			'input_attrs' => array(
				'min'       => 0,
				'max'       => 100,
				'step'      => 1,
			),
		)
	));

	// Color text slider
	$wp_customize->add_setting(
		'willer_color_text_slider',
		array(
			'default' => '#fff',
			'sanitize_callback' => 'willer_hex_rgba_sanitization',
		)
	);
	$wp_customize->add_control(new Willer_Customize_Alpha_Color_Control(
		$wp_customize,
		'willer_color_text_slider',
		array(
			'label' => __('Color text Slider', 'willer'),
			'section' => 'willer_slider_section',
			'priority' => 60,
			'show_opacity' => true,
		)
	));

	// Margin Top Slider
	$wp_customize->add_setting(
		'willer_margin_top_slider',
		array(
			'default'           => 0,
			'transport'         => 'postMessage',
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_margin_top_slider',
		array(
			'label'       => __('Margin Top Section (em Unit)', 'willer'),
			'section'     => 'willer_slider_section',
			'priority'    => 70,
			'input_attrs' => array(
				'min'       => 0,
				'max'       => 15,
				'step'      => 1,
			),
		)
	));

	// Margin Bottom Slider
	$wp_customize->add_setting(
		'willer_margin_bottom_slider',
		array(
			'default'           => 0,
			'transport'         => 'postMessage',
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_margin_bottom_slider',
		array(
			'label'       => __('Margin Bottom Section (em Unit)', 'willer'),
			'section'     => 'willer_slider_section',
			'priority'    => 80,
			'input_attrs' => array(
				'min'       => 0,
				'max'       => 15,
				'step'      => 1,
			),
		)
	));

	// Section Contact
	$wp_customize->add_section(
		'willer_contact_footer_section',
		array(
			'title'      => __('Contact', 'willer'),
			'priority'   => 90,
			'capability' => 'edit_theme_options',
			'panel'      => 'willer_section_home_settings',
		)
	);

	// Pagename Contact
	$wp_customize->add_setting('willer_page_contact', array(
		'capability'        => 'edit_theme_options',
		'sanitize_callback' => 'willer_sanitize_dropdown_pages',
	));

	$wp_customize->add_control('willer_page_contact', array(
		'type'        => 'dropdown-pages',
		'section'     => 'willer_contact_footer_section',
		'label'       => __('Select name page for Contact', 'willer'),
		'description' => __('Select the page for the Contact Section in Home page Willer.', 'willer'),
	));

	/* ----------------------------------------------------*
##  1.5 bis Pages
/* ----------------------------------------------------*/

	$willerPages = new Willer_WP_Customize_Panel($wp_customize, 'willer_pages', array(
		'title'    => __('Pages', 'willer'),
		'priority' => 7,
	));

	$wp_customize->add_panel($willerPages);

	// Home Willer
	$wp_customize->add_section(
		'willer_home_page_willer_section',
		array(
			'title'      => __('Home Willer', 'willer'),
			'priority'   => 10,
			'capability' => 'edit_theme_options',
			'panel'      => 'willer_pages',
		)
	);

	// Order Sector one
	$wp_customize->add_setting('willer_order_section_home_1', array(
		'default'           => 'static',
		'transport'         => 'refresh',
		'sanitize_callback' => 'wp_strip_all_tags',

	));

	$wp_customize->add_control(
		'willer_order_section_home_1',
		array(
			$willer_bubiblock_slider = esc_url(willer_bubiblock_slider),
			'label'                  => __('Order Sector One', 'willer'),
			'description'            => __('To use the BubiBlock Slider you must have installed the relevant plugin: ', 'willer') . '<a href="' . $willer_bubiblock_slider . '" target="_blank">' . __(' BubiBlock Slider.', 'willer') . '</a>' . __(' Then go to Customizer-> Blocks-> BubiBlock Slider.', 'willer'),
			'section'                => 'willer_home_page_willer_section',
			'settings'               => 'willer_order_section_home_1',
			'priority'               => 10,
			'type'                   => 'select',
			'choices'                => array(
				'static'           => __('Static/Video', 'willer'),
				'slider'           => __('Slider', 'willer'),
				'contact-parallax' => __('Parallax', 'willer'),
				'bubiblock'        => __('BubiBlock Slider', 'willer'),
			)
		)
	);

	// Order Sector Two
	$wp_customize->add_setting('willer_order_section_home_2', array(
		'default'           => 'services',
		'transport'         => 'refresh',
		'sanitize_callback' => 'wp_strip_all_tags',

	));

	$wp_customize->add_control(
		'willer_order_section_home_2',
		array(
			'label'                  => __('Order Sector Two', 'willer'),
			'description'            => __('Select the Section for sector two', 'willer'),
			'section'                => 'willer_home_page_willer_section',
			'settings'               => 'willer_order_section_home_2',
			'priority'               => 20,
			'type'                   => 'select',
			'choices'                => array(
				'services'             => __('Services', 'willer'),
				'gallery'              => __('Gallery', 'willer'),
				'testimonials-carousel' => __('Testimonials', 'willer'),
				'about'                => __('About', 'willer'),
				'portfolio'            => __('Portfolio', 'willer'),
				'team'                 => __('Team', 'willer'),
				'blog'                 => __('Blog', 'willer'),
				'contact-parallax'     => __('Parallax', 'willer'),
				'slider'               => __('Slider', 'willer'),
				''                     => __('No Section', 'willer'),
			)
		)
	);

	// Order Sector Three
	$wp_customize->add_setting('willer_order_section_home_3', array(
		'default'           => 'gallery',
		'transport'         => 'refresh',
		'sanitize_callback' => 'wp_strip_all_tags',

	));

	$wp_customize->add_control(
		'willer_order_section_home_3',
		array(
			'label'                  => __('Order Sector Three', 'willer'),
			'description'            => __('Select the Section for sector three', 'willer'),
			'section'                => 'willer_home_page_willer_section',
			'settings'               => 'willer_order_section_home_3',
			'priority'               => 30,
			'type'                   => 'select',
			'choices'                => array(
				'gallery'              => __('Gallery', 'willer'),
				'services'             => __('Services', 'willer'),
				'testimonials-carousel' => __('Testimonials', 'willer'),
				'about'                => __('About', 'willer'),
				'portfolio'            => __('Portfolio', 'willer'),
				'team'                 => __('Team', 'willer'),
				'blog'                 => __('Blog', 'willer'),
				'contact-parallax'     => __('Parallax', 'willer'),
				'slider'               => __('Slider', 'willer'),
				''                     => __('No Section', 'willer'),
			)
		)
	);

	// Order Sector Four
	$wp_customize->add_setting('willer_order_section_home_4', array(
		'default'           => 'testimonials-carousel',
		'transport'         => 'refresh',
		'sanitize_callback' => 'wp_strip_all_tags',

	));

	$wp_customize->add_control(
		'willer_order_section_home_4',
		array(
			'label'                  => __('Order Sector Four', 'willer'),
			'description'            => __('Select the Section for sector Four', 'willer'),
			'section'                => 'willer_home_page_willer_section',
			'settings'               => 'willer_order_section_home_4',
			'priority'               => 40,
			'type'                   => 'select',
			'choices'                => array(
				'testimonials-carousel' => __('Testimonials', 'willer'),
				'gallery'              => __('Gallery', 'willer'),
				'services'             => __('Services', 'willer'),
				'about'                => __('About', 'willer'),
				'portfolio'            => __('Portfolio', 'willer'),
				'team'                 => __('Team', 'willer'),
				'blog'                 => __('Blog', 'willer'),
				'contact-parallax'     => __('Parallax', 'willer'),
				'slider'               => __('Slider', 'willer'),
				''                     => __('No Section', 'willer'),
			)
		)
	);

	// Order Sector Five
	$wp_customize->add_setting('willer_order_section_home_5', array(
		'default'           => 'about',
		'transport'         => 'refresh',
		'sanitize_callback' => 'wp_strip_all_tags',

	));

	$wp_customize->add_control(
		'willer_order_section_home_5',
		array(
			'label'                  => __('Order Sector Five', 'willer'),
			'description'            => __('Select the Section for sector Five', 'willer'),
			'section'                => 'willer_home_page_willer_section',
			'settings'               => 'willer_order_section_home_5',
			'priority'               => 50,
			'type'                   => 'select',
			'choices'                => array(
				'about'                => __('About', 'willer'),
				'testimonials-carousel' => __('Testimonials', 'willer'),
				'gallery'              => __('Gallery', 'willer'),
				'services'             => __('Services', 'willer'),
				'portfolio'            => __('Portfolio', 'willer'),
				'team'                 => __('Team', 'willer'),
				'blog'                 => __('Blog', 'willer'),
				'contact-parallax'     => __('Parallax', 'willer'),
				'slider'               => __('Slider', 'willer'),
				''                     => __('No Section', 'willer'),
			)
		)
	);

	// Order Sector Six
	$wp_customize->add_setting('willer_order_section_home_6', array(
		'default'           => 'portfolio',
		'transport'         => 'refresh',
		'sanitize_callback' => 'wp_strip_all_tags',

	));

	$wp_customize->add_control(
		'willer_order_section_home_6',
		array(
			'label'                  => __('Order Sector Six', 'willer'),
			'description'            => __('Select the Section for sector Six', 'willer'),
			'section'                => 'willer_home_page_willer_section',
			'settings'               => 'willer_order_section_home_6',
			'priority'               => 60,
			'type'                   => 'select',
			'choices'                => array(
				'portfolio'            => __('Portfolio', 'willer'),
				'about'                => __('About', 'willer'),
				'testimonials-carousel' => __('Testimonials', 'willer'),
				'gallery'              => __('Gallery', 'willer'),
				'services'             => __('Services', 'willer'),
				'team'                 => __('Team', 'willer'),
				'blog'                 => __('Blog', 'willer'),
				'contact-parallax'     => __('Parallax', 'willer'),
				'slider'               => __('Slider', 'willer'),
				''                     => __('No Section', 'willer'),
			)
		)
	);

	// Order Sector Seven
	$wp_customize->add_setting('willer_order_section_home_7', array(
		'default'           => 'team',
		'transport'         => 'refresh',
		'sanitize_callback' => 'wp_strip_all_tags',

	));

	$wp_customize->add_control(
		'willer_order_section_home_7',
		array(
			'label'                  => __('Order Sector Seven', 'willer'),
			'description'            => __('Select the Section for sector Seven', 'willer'),
			'section'                => 'willer_home_page_willer_section',
			'settings'               => 'willer_order_section_home_7',
			'priority'               => 70,
			'type'                   => 'select',
			'choices'                => array(
				'team'                 => __('Team', 'willer'),
				'portfolio'            => __('Portfolio', 'willer'),
				'about'                => __('About', 'willer'),
				'testimonials-carousel' => __('Testimonials', 'willer'),
				'gallery'              => __('Gallery', 'willer'),
				'services'             => __('Services', 'willer'),
				'blog'                 => __('Blog', 'willer'),
				'contact-parallax'     => __('Parallax', 'willer'),
				'slider'               => __('Slider', 'willer'),
				''                     => __('No Section', 'willer'),
			)
		)
	);

	// Order Sector Height
	$wp_customize->add_setting('willer_order_section_home_8', array(
		'default'           => 'blog',
		'transport'         => 'refresh',
		'sanitize_callback' => 'wp_strip_all_tags',

	));

	$wp_customize->add_control(
		'willer_order_section_home_8',
		array(
			'label'                  => __('Order Sector Height', 'willer'),
			'description'            => __('Select the Section for sector Height', 'willer'),
			'section'                => 'willer_home_page_willer_section',
			'settings'               => 'willer_order_section_home_8',
			'priority'               => 80,
			'type'                   => 'select',
			'choices'                => array(
				'blog'                 => __('Blog', 'willer'),
				'team'                 => __('Team', 'willer'),
				'portfolio'            => __('Portfolio', 'willer'),
				'about'                => __('About', 'willer'),
				'testimonials-carousel' => __('Testimonials', 'willer'),
				'gallery'              => __('Gallery', 'willer'),
				'services'             => __('Services', 'willer'),
				'contact-parallax'     => __('Parallax', 'willer'),
				'slider'               => __('Slider', 'willer'),
				''                     => __('No Section', 'willer'),
			)
		)
	);

	// Order Sector Nine
	$wp_customize->add_setting('willer_order_section_home_9', array(
		'default'           => 'contact-parallax',
		'transport'         => 'refresh',
		'sanitize_callback' => 'wp_strip_all_tags',

	));

	$wp_customize->add_control(
		'willer_order_section_home_9',
		array(
			'label'                  => __('Order Sector Nine', 'willer'),
			'description'            => __('Select the Section for sector Nine', 'willer'),
			'section'                => 'willer_home_page_willer_section',
			'settings'               => 'willer_order_section_home_9',
			'priority'               => 90,
			'type'                   => 'select',
			'choices'                => array(
				'contact-parallax'     => __('Parallax', 'willer'),
				'blog'                 => __('Blog', 'willer'),
				'team'                 => __('Team', 'willer'),
				'portfolio'            => __('Portfolio', 'willer'),
				'about'                => __('About', 'willer'),
				'testimonials-carousel' => __('Testimonials', 'willer'),
				'gallery'              => __('Gallery', 'willer'),
				'services'             => __('Services', 'willer'),
				'slider'               => __('Slider', 'willer'),
				''                     => __('No Section', 'willer'),
			)
		)
	);

	// Order Sector Ten
	$wp_customize->add_setting('willer_order_section_home_10', array(
		'default'           => '',
		'transport'         => 'refresh',
		'sanitize_callback' => 'wp_strip_all_tags',

	));

	$wp_customize->add_control(
		'willer_order_section_home_10',
		array(
			'label'                  => __('Order Sector Extra', 'willer'),
			'description'            => __('Select the Section for sector Extra', 'willer'),
			'section'                => 'willer_home_page_willer_section',
			'settings'               => 'willer_order_section_home_10',
			'priority'               => 100,
			'type'                   => 'select',
			'choices'                => array(
				''                     => __('No Section', 'willer'),
				'contact-parallax'     => __('Parallax', 'willer'),
				'blog'                 => __('Blog', 'willer'),
				'team'                 => __('Team', 'willer'),
				'portfolio'            => __('Portfolio', 'willer'),
				'about'                => __('About', 'willer'),
				'testimonials-carousel' => __('Testimonials', 'willer'),
				'gallery'              => __('Gallery', 'willer'),
				'services'             => __('Services', 'willer'),
				'slider'               => __('Slider', 'willer'),
			)
		)
	);

	// Font Size Title Section Home
	$wp_customize->add_setting(
		'willer_font_size_title_section',
		array(
			'default'           => 34,
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_font_size_title_section',
		array(
			'label'       => __('Font size title section (px Unit)', 'willer'),
			'section'     => 'willer_home_page_willer_section',
			'priority'    => 110,
			'input_attrs' => array(
				'min'       => 10,
				'max'       => 100,
				'step'      => 1,
			),
		)
	));

	// Color Title Section Home
	$wp_customize->add_setting(
		'willer_color_title_section',
		array(
			'default' => '#fff',
			'sanitize_callback' => 'willer_hex_rgba_sanitization',
		)
	);
	$wp_customize->add_control(new Willer_Customize_Alpha_Color_Control(
		$wp_customize,
		'willer_color_title_section',
		array(
			'label' => __('Color Title Section Home', 'willer'),
			'section' => 'willer_home_page_willer_section',
			'priority' => 120,
			'show_opacity' => true,
		)
	));

	/* ------------------------------------------------------------------------------------------------------------*
##  Page Willer  Canva
/* ------------------------------------------------------------------------------------------------------------*/

	$wp_customize->add_section(
		'willer_section_settings_page_canva',
		array(
			'title'      => __('Willer Canva Page/Post', 'willer'),
			'priority'   => 50,
			'capability' => 'edit_theme_options',
			'panel' => 'willer_pages'
		)
	);

	// Select Header
	$wp_customize->add_setting('willer_header_canva_page', array(
		'default'           => 'post',
		'transport'         => 'refresh',
		'sanitize_callback' => 'willer_sanitize_select',
	));

	$wp_customize->add_control(
		'willer_header_canva_page',
		array(
			'label'      => __('Select Header', 'willer'),
			'section'    => 'willer_section_settings_page_canva',
			'settings'   => 'willer_header_canva_page',
			'type'       => 'select',
			'priority'   => 10,
			'choices'    => array(
				'post' => __('Post', 'willer'),
				''    => __('Home', 'willer'),
			)
		)
	);

	// Enable/Disable Header
	$wp_customize->add_setting(
		'willer_enable_header_page_canva',
		array(
			'default'   => 1,
			'transport' => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'willer_enable_header_page_canva',
		array(
			'label'   => __('Enable/Disable Header', 'willer'),
			'section' => 'willer_section_settings_page_canva',
			'priority' => 20,
		)
	));

	// Enable/Disable Footer
	$wp_customize->add_setting(
		'willer_enable_footer_page_canva',
		array(
			'default'   => 1,
			'transport' => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'willer_enable_footer_page_canva',
		array(
			'label'      => __('Enable/Disable Footer', 'willer'),
			'description' => __('If you dont see the result right away, publish and close the Customizer!', 'willer'),
			'section'    => 'willer_section_settings_page_canva',
			'priority'   => 30,
		)
	));

	/* ----------------------------------------------------------------- *
##  1.7 bis Post
/* -----------------------------------------------------------------*/

	$wp_customize->add_section(
		'willer_section_settings_post',
		array(
			'title'      => __('Post', 'willer'),
			'priority'   => 210,
			'capability' => 'edit_theme_options',
			'panel'      => 'willer_generalsettings',
		)
	);

	// Mate info header post
	$wp_customize->add_setting(
		'willer_enable_mata_header_post',
		array(
			'default'           => 0,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'willer_enable_mata_header_post',
		array(
			'label'   => __('Enable/Disable meta info header post', 'willer'),
			'section' => 'willer_section_settings_post',
			'priority' => 10,
		)
	));

	// Mate info footer post
	$wp_customize->add_setting(
		'willer_enable_mata_footer_post',
		array(
			'default'           => 0,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'willer_enable_mata_footer_post',
		array(
			'label'   => __('Enable/Disable meta info footer post', 'willer'),
			'section' => 'willer_section_settings_post',
			'priority' => 20,
		)
	));

	// Effect Title post
	$wp_customize->add_setting(
		'willer_enable_effect_title_post',
		array(
			'default'           => 0,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'willer_enable_effect_title_post',
		array(
			'label'   => __('Enable/Disable title effect post', 'willer'),
			'section' => 'willer_section_settings_post',
			'priority' => 30,
		)
	));

	/* ----------------------------------------------------------------- *
##  1.7 Social
/* -----------------------------------------------------------------*/

	$wp_customize->add_section(
		'willer_section_settings_social',
		array(
			'title'      => __('Social', 'willer'),
			'priority'   => 200,
			'capability' => 'edit_theme_options',
			'panel'      => 'willer_generalsettings',
		)
	);

	// Facebook
	$wp_customize->add_setting(
		'willer_enable_facebook_social',
		array(
			'default'           => 1,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'willer_enable_facebook_social',
		array(
			'label'   => __('Enable/Disable Facebook.', 'willer'),
			'section' => 'willer_section_settings_social',
			'priority' => 10,
		)
	));

	// Url Facebook
	$wp_customize->add_setting(
		'willer_link_facebook_social',
		array(
			'default'           => '',
			'transport'         => 'refresh',
			'sanitize_callback' => 'esc_url_raw',
		)
	);

	$wp_customize->add_control(
		'willer_link_facebook_social',
		array(
			'label'           => __('Link Facebook', 'willer'),
			'section'         => 'willer_section_settings_social',
			'active_callback' => 'willer_enable_facebook_social',
			'type'            => 'url',
			'priority'        => 20,
			'input_attrs'     => array(
				'class'         => 'my-custom-class',
				'style'         => 'border: 1px solid #2885bb',
				'placeholder'   => __('Enter link...', 'willer'),
			),
		)
	);

	// Twitter
	$wp_customize->add_setting(
		'willer_enable_twitter_social',
		array(
			'default'           => 1,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization',
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'willer_enable_twitter_social',
		array(
			'label'   => __('Enable/Disable Twitter.', 'willer'),
			'section' => 'willer_section_settings_social',
			'priority' => 30,
		)
	));

	// Url Twitter
	$wp_customize->add_setting(
		'willer_link_twitter_social',
		array(
			'default'           => '',
			'transport'         => 'refresh',
			'sanitize_callback' => 'esc_url_raw',
		)
	);

	$wp_customize->add_control(
		'willer_link_twitter_social',
		array(
			'label'           => __('Link Twitter', 'willer'),
			'section'         => 'willer_section_settings_social',
			'active_callback' => 'willer_enable_twitter_social',
			'priority'        => 40,
			'type'            => 'url',
			'input_attrs'     => array(
				'class'         => 'my-custom-class',
				'style'         => 'border: 1px solid #2885bb',
				'placeholder'   => __('Enter link...', 'willer'),
			),
		)
	);

	// Google Plus
	$wp_customize->add_setting(
		'willer_enable_google_plus_social',
		array(
			'default'           => 1,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization',
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'willer_enable_google_plus_social',
		array(
			'label'   => __('Enable/Disable Google Plus.', 'willer'),
			'section' => 'willer_section_settings_social',
			'priority' => 50,
		)
	));

	// Url Google Plus
	$wp_customize->add_setting(
		'willer_link_google_plus_social',
		array(
			'default'           => '',
			'transport'         => 'refresh',
			'sanitize_callback' => 'esc_url_raw',
		)
	);

	$wp_customize->add_control(
		'willer_link_google_plus_social',
		array(
			'label'           => __('Link Google Plus', 'willer'),
			'section'         => 'willer_section_settings_social',
			'active_callback' => 'willer_enable_google_plus_social',
			'priority'        => 60,
			'type'            => 'url',
			'input_attrs'     => array(
				'class'         => 'my-custom-class',
				'style'         => 'border: 1px solid #2885bb',
				'placeholder'   => __('Enter link...', 'willer'),
			),
		)
	);

	// Dribbble
	$wp_customize->add_setting(
		'willer_enable_dribbble_social',
		array(
			'default'           => 1,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization',
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'willer_enable_dribbble_social',
		array(
			'label'   => __('Enable/Disable Dribbble.', 'willer'),
			'section' => 'willer_section_settings_social',
			'priority' => 70,
		)
	));

	// Url Dribbble
	$wp_customize->add_setting(
		'willer_link_dribbble_social',
		array(
			'default'           => '',
			'transport'         => 'refresh',
			'sanitize_callback' => 'esc_url_raw',
		)
	);

	$wp_customize->add_control(
		'willer_link_dribbble_social',
		array(
			'label'           => __('Link Dribbble', 'willer'),
			'section'         => 'willer_section_settings_social',
			'active_callback' => 'willer_enable_dribbble_social',
			'priority'        => 80,
			'type'            => 'url',
			'input_attrs'     => array(
				'class'         => 'my-custom-class',
				'style'         => 'border: 1px solid #2885bb',
				'placeholder'   => __('Enter link...', 'willer'),
			),
		)
	);

	// Tumblr
	$wp_customize->add_setting(
		'willer_enable_tumblr_social',
		array(
			'default'           => 1,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization',
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'willer_enable_tumblr_social',
		array(
			'label'   => __('Enable/Disable Tumblr.', 'willer'),
			'section' => 'willer_section_settings_social',
			'priority' => 90,
		)
	));

	// Url Tumblr
	$wp_customize->add_setting(
		'willer_link_tumblr_social',
		array(
			'default'           => '',
			'transport'         => 'refresh',
			'sanitize_callback' => 'esc_url_raw',
		)
	);

	$wp_customize->add_control(
		'willer_link_tumblr_social',
		array(
			'label'           => __('Link Tumblr', 'willer'),
			'section'         => 'willer_section_settings_social',
			'active_callback' => 'willer_enable_tumblr_social',
			'priority'        => 100,
			'type'            => 'url',
			'input_attrs'     => array(
				'class'         => 'my-custom-class',
				'style'         => 'border: 1px solid #2885bb',
				'placeholder'   => __('Enter link...', 'willer'),
			),
		)
	);

	// Instagram
	$wp_customize->add_setting(
		'willer_enable_instagram_social',
		array(
			'default'           => 1,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization',
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'willer_enable_instagram_social',
		array(
			'label'   => __('Enable/Disable Instagram.', 'willer'),
			'section' => 'willer_section_settings_social',
			'priority' => 110,
		)
	));

	// Url Instagram
	$wp_customize->add_setting(
		'willer_link_instagram_social',
		array(
			'default'           => '',
			'transport'         => 'refresh',
			'sanitize_callback' => 'esc_url_raw',
		)
	);

	$wp_customize->add_control(
		'willer_link_instagram_social',
		array(
			'label'           => __('Link Instagram', 'willer'),
			'section'         => 'willer_section_settings_social',
			'active_callback' => 'willer_enable_instagram_social',
			'priority'        => 120,
			'type'            => 'url',
			'input_attrs'     => array(
				'class'         => 'my-custom-class',
				'style'         => 'border: 1px solid #2885bb',
				'placeholder' => __('Enter link...', 'willer'),
			),
		)
	);

	// Linkedin
	$wp_customize->add_setting(
		'willer_enable_linkedin_social',
		array(
			'default'           => 1,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization',
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'willer_enable_linkedin_social',
		array(
			'label'   => __('Enable/Disable Linkedin.', 'willer'),
			'section' => 'willer_section_settings_social',
			'priority' => 130,
		)
	));

	// Url Linkedin
	$wp_customize->add_setting(
		'willer_link_linkedin_social',
		array(
			'default'           => '',
			'transport'         => 'refresh',
			'sanitize_callback' => 'esc_url_raw',
		)
	);

	$wp_customize->add_control(
		'willer_link_linkedin_social',
		array(
			'label'           => __('Link Linkedin', 'willer'),
			'section'         => 'willer_section_settings_social',
			'active_callback' => 'willer_enable_linkedin_social',
			'priority'        => 140,
			'type'            => 'url',
			'input_attrs'     => array(
				'class'         => 'my-custom-class',
				'style'         => 'border: 1px solid #2885bb',
				'placeholder'   => __('Enter link...', 'willer'),
			),
		)
	);

	// Youtube
	$wp_customize->add_setting(
		'willer_enable_youtube_social',
		array(
			'default'           => 1,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization',
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'willer_enable_youtube_social',
		array(
			'label'   => __('Enable/Disable Youtube.', 'willer'),
			'section' => 'willer_section_settings_social',
			'priority' => 150,
		)
	));

	// Url Youtube
	$wp_customize->add_setting(
		'willer_link_youtube_social',
		array(
			'default'           => '',
			'transport'         => 'refresh',
			'sanitize_callback' => 'esc_url_raw',
		)
	);

	$wp_customize->add_control(
		'willer_link_youtube_social',
		array(
			'label'           => __('Link Youtube', 'willer'),
			'section'         => 'willer_section_settings_social',
			'active_callback' => 'willer_enable_youtube_social',
			'priority'        => 160,
			'type'            => 'url',
			'input_attrs'     => array(
				'class'         => 'my-custom-class',
				'style'         => 'border: 1px solid #2885bb',
				'placeholder'   => __('Enter link...', 'willer'),
			),
		)
	);

	// Pinterest
	$wp_customize->add_setting(
		'willer_enable_pinterest_social',
		array(
			'default'           => 1,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization',
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'willer_enable_pinterest_social',
		array(
			'label'   => __('Enable/Disable Pinterest.', 'willer'),
			'section' => 'willer_section_settings_social',
			'priority' => 170,
		)
	));

	// Url Pinterest
	$wp_customize->add_setting(
		'willer_link_pinterest_social',
		array(
			'default'           => '',
			'transport'         => 'refresh',
			'sanitize_callback' => 'esc_url_raw',
		)
	);

	$wp_customize->add_control(
		'willer_link_pinterest_social',
		array(
			'label'           => __('Link Pinterest', 'willer'),
			'section'         => 'willer_section_settings_social',
			'active_callback' => 'willer_enable_pinterest_social',
			'priority'        => 180,
			'type'            => 'url',
			'input_attrs'     => array(
				'class'         => 'my-custom-class',
				'style'         => 'border: 1px solid #2885bb',
				'placeholder'   => __('Enter link...', 'willer'),
			),
		)
	);

	// Flickr
	$wp_customize->add_setting(
		'willer_enable_flickr_social',
		array(
			'default'           => 1,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization',
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'willer_enable_flickr_social',
		array(
			'label'   => __('Enable/Disable Flickr.', 'willer'),
			'section' => 'willer_section_settings_social',
			'priority' => 190,
		)
	));

	// Url Flickr
	$wp_customize->add_setting(
		'willer_link_flickr_social',
		array(
			'default'           => '',
			'transport'         => 'refresh',
			'sanitize_callback' => 'esc_url_raw',
		)
	);

	$wp_customize->add_control(
		'willer_link_flickr_social',
		array(
			'label'           => __('Link Flickr', 'willer'),
			'section'         => 'willer_section_settings_social',
			'active_callback' => 'willer_enable_flickr_social',
			'priority'        => 200,
			'type'            => 'url',
			'input_attrs'     => array(
				'class'         => 'my-custom-class',
				'style'         => 'border: 1px solid #2885bb',
				'placeholder'   => __('Enter link...', 'willer'),
			),
		)
	);

	// Github
	$wp_customize->add_setting(
		'willer_enable_github_social',
		array(
			'default'           => 1,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization',
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'willer_enable_github_social',
		array(
			'label'   => __('Enable/Disable Github.', 'willer'),
			'section' => 'willer_section_settings_social',
			'priority' => 210,
		)
	));

	// Url Github
	$wp_customize->add_setting(
		'willer_link_github_social',
		array(
			'default'           => '',
			'transport'         => 'refresh',
			'sanitize_callback' => 'esc_url_raw',
		)
	);

	$wp_customize->add_control(
		'willer_link_github_social',
		array(
			'label'           => __('Link Github', 'willer'),
			'section'         => 'willer_section_settings_social',
			'active_callback' => 'willer_enable_github_social',
			'priority'        => 210,
			'type'            => 'url',
			'input_attrs'     => array(
				'class'         => 'my-custom-class',
				'style'         => 'border: 1px solid #2885bb',
				'placeholder'   => __('Enter link...', 'willer'),
			),
		)
	);

	/* ------------------------------------------------------ *
##  1.8 Footer
/* ------------------------------------------------------ */

	// Settings Footer
	$wp_customize->add_section(
		'willer_footer_section',
		array(
			'title'      => __('Footer', 'willer'),
			'priority'   => 10000,
			'capability' => 'edit_theme_options',
		)
	);

	// Column Footer
	$wp_customize->add_setting('willer_footer_column', array(
		'default'           => 'footer4',
		'transport'         => 'refresh',
		'sanitize_callback' => 'wp_strip_all_tags',

	));

	$wp_customize->add_control(
		'willer_footer_column',
		array(
			'label'                  => __('Choose the number of columns for the footer widgets', 'willer'),
			'section'                => 'willer_footer_section',
			'settings'               => 'willer_footer_column',
			'type'                   => 'select',
			'choices'                => array(
				'footer1'            => __('1 Column', 'willer'),
				'footer2 '           => __('2 Columns', 'willer'),
				'footer3'            => __('3 Columns', 'willer'),
				'footer4'            => __('4 Columns', 'willer'),
			)
		)
	);

	// Enable/Disable Custom Logo
	$wp_customize->add_setting(
		'willer_enable_custom_logo_footer',
		array(
			'default'   => 0,
			'transport' => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'willer_enable_custom_logo_footer',
		array(
			'label'   => __('Enable/Disable Custom Logo in Footer.', 'willer'),
			'section' => 'willer_footer_section',
			'priority' => 40,
		)
	));

	// Width Logo Footer
	$wp_customize->add_setting(
		'willer_logo_footer',
		array(
			'default'           => 70,
			'transport'         => 'postMessage',
			'sanitize_callback' => 'willer_sanitize_integer'
		)
	);

	$wp_customize->add_control(new Willer_Slider_Custom_Control(
		$wp_customize,
		'willer_logo_footer',
		array(
			'label'       => __('Width Logo Footer (px Unit)', 'willer'),
			'section'     => 'willer_footer_section',
			'active_callback' => 'willer_enable_custom_logo_footer',
			'priority'    => 42,
			'input_attrs' => array(
				'min'       => 10,
				'max'       => 300,
				'step'      => 1,
			),
		)
	));

	// Enable/Disable Cuopyright
	$wp_customize->add_setting(
		'wl_enable_copyright_footer',
		array(
			'default'   => 0,
			'transport' => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'wl_enable_copyright_footer',
		array(
			'label'   => __('Enable/Disable Copyright in Footer.', 'willer'),
			'section' => 'willer_footer_section',
			'priority' => 50,
		)
	));

	// Enable/Disable Social
	$wp_customize->add_setting(
		'wl_enable_social_footer',
		array(
			'default'           => 1,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'wl_enable_social_footer',
		array(
			'label'   => __('Enable/Disable Social in Footer.', 'willer'),
			'section' => 'willer_footer_section',
			'priority' => 60,
		)
	));

	// Background Color Copyright Footer
	$wp_customize->add_setting(
		'willer_background_color_copyright_footer',
		array(
			'default'           => '#000',
			'transport'         => 'postMessage',
			'sanitize_callback' => 'willer_hex_rgba_sanitization',
		)
	);
	$wp_customize->add_control(new Willer_Customize_Alpha_Color_Control(
		$wp_customize,
		'willer_background_color_copyright_footer',
		array(
			'label' => __('Background Color Copyright Footer Section', 'willer'),
			'section' => 'willer_footer_section',
			'priority' => 100,
			'show_opacity' => true,
		)
	));

	// Color Copyright Footer
	$wp_customize->add_setting(
		'willer_color_copyright_footer',
		array(
			'default'           => '#fff',
			'transport'         => 'postMessage',
			'sanitize_callback' => 'willer_hex_rgba_sanitization',
		)
	);
	$wp_customize->add_control(new Willer_Customize_Alpha_Color_Control(
		$wp_customize,
		'willer_color_copyright_footer',
		array(
			'label' => __('Color Copyright Footer Section', 'willer'),
			'section' => 'willer_footer_section',
			'priority' => 110,
			'show_opacity' => true,
		)
	));

	/* ------------------------------------------------------------------------------------------------------------*
## 1.9 Go Pro
/* ------------------------------------------------------------------------------------------------------------*/

	// Settings Go Pro
	$wp_customize->add_section(
		'willer_section_settings_go_pro',
		array(
			'title'      => __('Author', 'willer'),
			'priority'   => 1,
			'capability' => 'edit_theme_options',
		)
	);

	$wp_customize->add_setting(
		'willer_go_pro_version',
		array(
			'default'           => '',
			'transport'         => 'postMessage',
			'sanitize_callback' => 'willer_text_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Simple_Notice_Custom_control(
		$wp_customize,
		'willer_go_pro_version',
		array(
			'label'       => __('Denis Franchi', 'willer'),
			'description' => ('<p style="text-align:center">' . __('Author site', 'willer') . '<br><hr><div style="text-align:center"><button class="wl-bt-pro"> <a href="' . esc_url(willer_url_promotion) . '"  target="_blank">' . __('denisfranchi.dev', 'willer') . '</a> </p></button></div>'),
			'section'     => 'willer_section_settings_go_pro'
		)
	));

	// Font Family
	$wp_customize->add_section(
		'willer_font_family_section',
		array(
			'title'      => __('Font Family', 'willer'),
			'priority'   => 60,
			'capability' => 'edit_theme_options',
			'panel'      => 'willer_generalsettings',
		)
	);

	// Title
	$wp_customize->add_setting('willer_title_font', array(
		'default'           => 'Montserrat',
		'transport'         => 'refresh',
		'sanitize_callback' => 'wp_strip_all_tags',

	));

	$wp_customize->add_control(
		'willer_title_font',
		array(
			'label'                  => __('Font Family Title', 'willer'),
			'description'            => __('h1,h2,h3,h4,h5,h6', 'willer'),
			'section'                => 'willer_font_family_section',
			'settings'               => 'willer_title_font',
			'priority'   => 10,
			'type'                   => 'select',
			'choices'                => array(
				'Montserrat'           => __('Montserrat', 'willer'),
				'Lato '                => __('Lato', 'willer'),
				'Roboto'               => __('Robot', 'willer'),
				'Text Me One'          => __('Text Me One', 'willer'),
				'Ubuntu'               => __('Ubuntu', 'willer'),
				'Titillium Web'        => __('Titillium Web', 'willer'),
				'Inconsolata'          => __('Inconsolata', 'willer'),
				'Indie Flower'         => __('Indie Flower', 'willer'),
				'Dancing Script'       => __('Dancing Script', 'willer'),
				'Rajdhani'             => __('Rajdhani', 'willer'),
				'Sarala'               => __('Sarala', 'willer'),
				'Covered By Your Grace' => __('Covered By Your Grace', 'willer'),
				'Aldrich'              => __('Aldrich', 'willer'),
				'Nanum Gothic Coding'  => __('Nanum Gothic Coding', 'willer'),
				'Carme'                => __('Carme', 'willer'), 'Courier Prime' => __('Courier Prime', 'willer'), 'Orbitron' => __('Orbitron', 'willer'), 'Amatic SC' => __('Amatic', 'willer'), 'Permanent Marker' => __('Permanent Marker', 'willer'), 'Kalam' => __('Kalam', 'willer')
			)
		)
	);

	// Subtitle
	$wp_customize->add_setting('willer_subtitle_font', array(
		'default'           => 'Montserrat',
		'transport'         => 'refresh',
		'sanitize_callback' => 'wp_strip_all_tags',

	));

	$wp_customize->add_control(
		'willer_subtitle_font',
		array(
			'label'                  => __('Font Family Subtitle', 'willer'),
			'description'            => __('p,span,li', 'willer'),
			'section'                => 'willer_font_family_section',
			'settings'               => 'willer_subtitle_font',
			'priority'   => 20,
			'type'                   => 'select',
			'choices'                => array(
				'Montserrat'           => __('Montserrat', 'willer'),
				'Lato '                => __('Lato', 'willer'),
				'Roboto'               => __('Robot', 'willer'),
				'Text Me One'          => __('Text Me One', 'willer'),
				'Ubuntu'               => __('Ubuntu', 'willer'),
				'Titillium Web'        => __('Titillium Web', 'willer'),
				'Inconsolata'          => __('Inconsolata', 'willer'),
				'Indie Flower'         => __('Indie Flower', 'willer'),
				'Dancing Script'       => __('Dancing Script', 'willer'),
				'Rajdhani'             => __('Rajdhani', 'willer'),
				'Sarala'               => __('Sarala', 'willer'),
				'Covered By Your Grace' => __('Covered By Your Grace', 'willer'),
				'Aldrich'              => __('Aldrich', 'willer'),
				'Nanum Gothic Coding'  => __('Nanum Gothic Coding', 'willer'),
				'Carme'                => __('Carme', 'willer'), 'Courier Prime' => __('Courier Prime', 'willer'), 'Orbitron' => __('Orbitron', 'willer'), 'Amatic SC' => __('Amatic', 'willer'), 'Permanent Marker' => __('Permanent Marker', 'willer'), 'Kalam' => __('Kalam', 'willer')
			)
		)
	);

	/* ------------------------------------------------------------------------------------------------------------*
## 2 Smartphone
/* ------------------------------------------------------------------------------------------------------------*/
	$wp_customize->add_section(
		'willer_device_section',
		array(
			'title'      => __('Mobile Devices', 'willer'),
			'priority'   => 11000,
			'capability' => 'edit_theme_options',
		)
	);

	// Notice Back To Top
	$wp_customize->add_setting(
		'willer_back_to_top_notice',
		array(
			'sanitize_callback' => 'willer_text_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Notice_Custom_Control(
		$wp_customize,
		'willer_back_to_top_notice',
		array(
			'label'       => __('Back To Top', 'willer'),
			'section'     => 'willer_device_section',
			'priority'   => 10,
		)
	));

	// Enable/Disable Back To Top Smartphone
	$wp_customize->add_setting(
		'wl_enable_back_top_phone',
		array(
			'default'           => 0,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'wl_enable_back_top_phone',
		array(
			'label'      => __('Enable/Disable Back To Top in Mobile Devices', 'willer'),
			'section'    => 'willer_device_section',
			'priority'   => 20,
		)
	));

	// Notice Sidebar
	$wp_customize->add_setting(
		'willer_sidebar_notice',
		array(
			'sanitize_callback' => 'willer_text_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Notice_Custom_Control(
		$wp_customize,
		'willer_sidebar_notice',
		array(
			'label'       => __('Sidebar', 'willer'),
			'section'     => 'willer_device_section',
			'priority'    => 30,
		)
	));

	// Enable/Disable sidebar devices
	$wp_customize->add_setting(
		'willer_enable_sidebar_media',
		array(
			'default'           => 0,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'willer_enable_sidebar_media',
		array(
			'label'      => __('Enable/Disable Sidebar in Mobile Devices', 'willer'),
			'section'    => 'willer_device_section',
			'priority'   => 40,
		)
	));

	// Notice Object fit image header Static
	$wp_customize->add_setting(
		'willer_header_image_static_notice',
		array(
			'sanitize_callback' => 'willer_text_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Notice_Custom_Control(
		$wp_customize,
		'willer_header_image_static_notice',
		array(
			'label'       => __('Immage Header Static Section', 'willer'),
			'section'     => 'willer_device_section',
			'priority'    => 50,
		)
	));

	// Enable/Disable Object fit image header Static
	$wp_customize->add_setting(
		'wl_enable_object_fit_imahe_header',
		array(
			'default'           => 1,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'wl_enable_object_fit_imahe_header',
		array(
			'label'   => __('Enable/Disable Object Fit Image in Mobile Devices', 'willer'),
			'section' => 'willer_device_section',
			'priority' => 60,
		)
	));

	// Notice Widget Footer Icons
	$wp_customize->add_setting(
		'willer_icons_scroll_footer_widget_notice',
		array(
			'sanitize_callback' => 'willer_text_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Notice_Custom_Control(
		$wp_customize,
		'willer_icons_scroll_footer_widget_notice',
		array(
			'label'       => __('Icon Scroll Area Widget Footer', 'willer'),
			'section'     => 'willer_device_section',
			'priority'    => 70,
		)
	));

	// Enable/Disable Icons for Widget scrool
	$wp_customize->add_setting(
		'wl_enable_icons_scrol_footer',
		array(
			'default'           => 1,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'wl_enable_icons_scrol_footer',
		array(
			'label'   => __('Enable/Disable Icon Scroll Area Widget Footer in Mobile Devices', 'willer'),
			'section' => 'willer_device_section',
			'priority' => 80,
		)
	));

	// Settings Preloader
	$wp_customize->add_section(
		'willer_preloader_section',
		array(
			'title'      => __('Preloader', 'willer'),
			'priority'   => 10,
			'capability' => 'edit_theme_options',
			'panel'      => 'willer_generalsettings',
		)
	);

	// Enable/Disable Preloader
	$wp_customize->add_setting(
		'wl_enable_preloader',
		array(
			'default'           => 0,
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_switch_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Toggle_Switch_Custom_control(
		$wp_customize,
		'wl_enable_preloader',
		array(
			'label'   => __('Enable/Disable Preloader', 'willer'),
			'section' => 'willer_preloader_section',
			'priority' => 10,
		)
	));


	// Settings Colors
	$wp_customize->add_section(
		'willer_style_section',
		array(
			'title'      => __('Theme Style', 'willer'),
			'priority'   => 10000,
			'capability' => 'edit_theme_options',
		)
	);

	// Select predefined skins
	$wp_customize->add_setting(
		'willer_color_skin',
		array(
			'default'           => 'one',
			'transport'         => 'refresh',
			'sanitize_callback' => 'willer_text_sanitization'
		)
	);

	$wp_customize->add_control(new Willer_Image_Radio_Button_Custom_Control(
		$wp_customize,
		'willer_color_skin',
		array(
			'label'       => __('Select predefined skins to use with this theme', 'willer'),
			'section'     => 'willer_style_section',
			'priority'    => 10,
			'choices'     => array(
				'one'   => array(
					'image' => trailingslashit(get_template_directory_uri()) . 'images/colorskin/one.png',
					'name'  => __('Skin 1', 'willer')
				),
				'two'   => array(
					'image' => trailingslashit(get_template_directory_uri()) . 'images/colorskin/two.png',
					'name'  => __('Skin 2', 'willer')
				),
				'three' => array(
					'image' => trailingslashit(get_template_directory_uri()) . 'images/colorskin/three.png',
					'name'  => __('Skin 3', 'willer')
				),
			)
		)
	));

	// Background Color Site
	$wp_customize->add_setting(
		'willer_background_color_body',
		array(
			'default' => '#000',
			'sanitize_callback' => 'willer_hex_rgba_sanitization',
		)
	);
	$wp_customize->add_control(new Willer_Customize_Alpha_Color_Control(
		$wp_customize,
		'willer_background_color_body',
		array(
			'label' => __('Background Color Site', 'willer'),
			'section' => 'willer_style_section',
			'priority' => 20,
			'show_opacity' => true,
		)
	));

	/* End Customizer
------------------------------------------------------------*/
}
add_action('customize_register', 'willer_customize_register');


/* 2 Function Customizer for button-shortcut
------------------------------------------------------------*/

/**
 * Site title
 *
 * @return void
 */
function willer_customize_partial_blogname()
{
	bloginfo('name');
}

/**
 * Site tagline
 *
 * @return void
 */
function willer_customize_partial_blogdescription()
{
	bloginfo('description');
}

/* ------------------------------------------------------------------------- *
##  3 Function javascript for refresh Customizer */
/* ------------------------------------------------------------------------- */

function willer_customize_preview_js()
{
	wp_enqueue_script('willer-customizer', get_template_directory_uri() . '/js/willer-customizer.js', array('customize-preview'), '20151215', true);
}
add_action('customize_preview_init', 'willer_customize_preview_js');

/* ------------------------------------------------------------------------- *
##  4 CSS Customize */
/* ------------------------------------------------------------------------- */

function willer_customizer_css()
{

	// CSS control Customize

	/* Back To Top */
	if (true == esc_html(get_theme_mod('willer_position_top', true))) : ?>
		<style>
			#backtop {
				right: 20px;
			}
		</style>
	<?php endif; ?>
	<?php if (false == esc_html(get_theme_mod('willer_position_top', true))) : ?>
		<style>
			#backtop {
				left: 20px;
			}
		</style>
	<?php endif; ?>

	<style>
		/* ------------------------------------------------------------------------- *
## Font Size Logo */
		/* ------------------------------------------------------------------------- */

		.willer-logo-header img {
			width: <?php echo esc_attr(get_theme_mod('willer_font_size_logo', '80')); ?>px;
		}
	</style>

	<!-- Back to top -->

	<?php if (true == esc_attr(get_theme_mod('wl_enable_back_top_phone', false))) : ?>

		<style>
			@media (max-width: 699px) {

				#backtop {
					display: none !important;
				}

			}
		</style>
	<?php endif; ?>

	<!-- Sidebar devices -->

	<?php if (true == esc_attr(get_theme_mod('willer_enable_sidebar_media', false))) : ?>

		<style>
			@media (max-width: 699px) {

				#secondary {
					display: none !important;
				}

			}
		</style>
	<?php endif;

	/* ------------------------------------------------------------------------- *
##  Font Family */
	/* ------------------------------------------------------------------------- */

	?>

	<style>
		/* Font Family Title */
		h1,
		h2,
		h3,
		h4,
		h5,
		h6 {
			font-family: '<?php echo esc_html(get_theme_mod('willer_title_font', 'Montserrat')); ?>';
		}

		/*Font Family Subtitle */
		p,
		span,
		li {
			font-family: '<?php echo esc_html(get_theme_mod('willer_subtitle_font', 'Montserrat')); ?>';
		}
	</style>
	<!-- Text Header Static -->
	<?php if (true == esc_attr(get_theme_mod('wl_enable_text_header_static', false))) : ?>
		<style>
			.willer-text-header-static {
				display: none;
			}
		</style>
	<?php endif; ?>

	<!-- Button Video -->
	<?php if (true == esc_attr(get_theme_mod('wl_enable_button_video', false))) : ?>
		<style>
			button.wp-custom-header-video-button {
				display: none;
			}
		</style>
	<?php endif; ?>


	<?php
}
add_action('wp_footer', 'willer_customizer_css');

/* ------------------------------------------------------------------------- *
     5 Add Class Customizer */
/* ------------------------------------------------------------------------- */

// Class Add Panel
if (class_exists('WP_Customize_Panel')) {
	class Willer_WP_Customize_Panel extends WP_Customize_Panel
	{
		public $panel;
		public $type = 'pe_panel';
		public function json()
		{
			$array = wp_array_slice_assoc((array) $this, array('id', 'description', 'priority', 'type', 'panel',));
			$array['title'] = html_entity_decode($this->title, ENT_QUOTES, get_bloginfo('charset'));
			$array['content'] = $this->get_content();
			$array['active'] = $this->active();
			$array['instanceNumber'] = $this->instance_number;
			return $array;
		}
	}
}
if (class_exists('WP_Customize_Section')) {
	class Willer_WP_Customize_Section extends WP_Customize_Section
	{
		public $section;
		public $type = 'pe_section';
		public function json()
		{
			$array = wp_array_slice_assoc((array) $this, array('id', 'description', 'priority', 'panel', 'type', 'description_hidden', 'section',));
			$array['title'] = html_entity_decode($this->title, ENT_QUOTES, get_bloginfo('charset'));
			$array['content'] = $this->get_content();
			$array['active'] = $this->active();
			$array['instanceNumber'] = $this->instance_number;
			if ($this->panel) {
				$array['customizeAction'] = sprintf('Customizing &#9656; %s', esc_html($this->manager->get_panel($this->panel)->title));
			} else {
				$array['customizeAction'] = 'Customizing';
			}
			return $array;
		}
	}
}

/* ------------------------------------*
## Simple Notice Custom Control */
/* ----------------------------------- */

if (class_exists('WP_Customize_Control')) {
	class Willer_Notice_Custom_Control extends WP_Customize_Control
	{
		/**
		 * The type of control being rendered
		 */
		public $type = 'simple_notice';
		/**
		 * Render the control in the customizer
		 */
		public function render_content()
		{
			$allowed_html = array(
				'a' => array(
					'href' => array(),
					'title' => array(),
					'class' => array(),
					'target' => array(),
				),
				'br' => array(),
				'em' => array(),
				'strong' => array(),
				'i' => array(
					'class' => array()
				),
				'span' => array(
					'class' => array(),
				),
				'code' => array(),
			);
	?>
			<div class="simple-notice-control">
				<?php if (!empty($this->label)) { ?>
					<span class="customize-control-title"><?php echo esc_html($this->label); ?></span>
				<?php } ?>
				<?php if (!empty($this->description)) { ?>
					<span class="customize-control-description"><?php echo wp_kses($this->description, $allowed_html); ?></span>
				<?php } ?>
			</div>
			<!-- Style for Custom Simple Notices -->
			<style>
				.simple-notice-control {
					border-bottom: 1px solid #2885bb;
				}

				.simple-notice-control span {
					font-weight: bold;
				}
			</style>
		<?php
		}
	}
}

/* ------------------------------------*
##  Image Radio Button Custom Control */
/* ----------------------------------- */

if (class_exists('WP_Customize_Control')) {

	class Willer_Image_Radio_Button_Custom_Control extends WP_Customize_Control
	{
		/**
		 * The type of control being rendered
		 */
		public $type = 'image_radio_button';
		/**
		 * Enqueue our scripts and styles
		 */

		/**
		 * Render the control in the customizer
		 */
		public function render_content()
		{
		?>
			<div class="image_radio_button_control">
				<?php if (!empty($this->label)) { ?>
					<span class="customize-control-title"><?php echo esc_html($this->label); ?></span>
				<?php } ?>
				<?php if (!empty($this->description)) { ?>
					<span class="customize-control-description"><?php echo esc_html($this->description); ?></span>
				<?php } ?>
				<?php foreach ($this->choices as $key => $value) { ?>
					<label class="radio-button-label">
						<input type="radio" name="<?php echo esc_attr($this->id); ?>" value="<?php echo esc_attr($key); ?>" <?php $this->link(); ?> <?php checked(esc_attr($key), $this->value()); ?> />
						<img src="<?php echo esc_attr($value['image']); ?>" alt="<?php echo esc_attr($value['name']); ?>" title="<?php echo esc_attr($value['name']); ?>" />
					</label>
				<?php	} ?>
			</div>
		<?php
		}
	}
}

//  Class Simple Notice
if (class_exists('WP_Customize_Control')) {

	class Willer_Simple_Notice_Custom_Control extends WP_Customize_Control
	{
		/**
		 * The type of control being rendered
		 */
		public $type = 'simple_notice';
		/**
		 * Render the control in the customizer
		 */
		public function render_content()
		{
			$allowed_html = array(
				'a' => array(
					'href' => array(),
					'title' => array(),
					'class' => array(),
					'target' => array(),
				),
				'br' => array(),
				'em' => array(),
				'strong' => array(),
				'i' => array(
					'class' => array()
				),
				'button' => array(
					'class' => array()
				),
				'div' => array(
					'style' => array()
				),
				'p' => array(
					'style' => array()
				),
				'span' => array(
					'class' => array(),
				),
				'code' => array(),
			);
		?>
			<div class="simple-notice-custom-control">
				<?php if (!empty($this->label)) { ?>
					<span class="customize-control-title"><?php echo esc_html($this->label); ?></span>
				<?php } ?>
				<?php if (!empty($this->description)) { ?>
					<span class="customize-control-description"><?php echo wp_kses($this->description, $allowed_html); ?></span>
				<?php } ?>
			</div>
			<!-- Style for Custom Simple Notices -->
			<style>
				.simple-notice-custom-control {
					padding-top: 2em;
					border: 1px solid #ccc;
					background-color: #fff;
				}

				.simple-notice-custom-control span {
					padding: 1em;
				}

				.simple-notice-custom-control {
					font-family: 'Montserrat', sans-serif;
					transition-duration: 0.7s;
					transition-timing-function: ease;
				}

				.customize-control-description {
					font-style: normal !important;
				}

				.simple-notice-custom-control button {
					background: transparent;
					color: #000;
					padding-top: 16px;
					padding-left: 10px;
					padding-right: 10px;
					font-size: 14px;
					position: relative;
					margin-top: 10px;
					margin-bottom: 10px;
					border-radius: 4px;
					border: 1px solid #ccc !important;
					margin-left: 5px;
				}

				.simple-notice-custom-control a {
					color: #666;
					text-decoration: none;
				}

				.simple-notice-custom-control a:hover {
					color: #fff !important;
				}

				.simple-notice-custom-control button:hover {
					background-color: gray;
				}
			</style>

		<?php
		}
	}
}

//  Class Categoy Control
if (class_exists('WP_Customize_Control')) {
	class willer_Customize_Category_Control extends WP_Customize_Control
	{
		public function render_content()
		{
			$dropdown = wp_dropdown_categories(
				array(
					'name'              => '_customize-dropdown-category-' . $this->id,
					'echo'              => 0,
					'show_option_none'  => __('&mdash; All &mdash;', 'willer'),
					'option_none_value' => '0',
					'selected'          => $this->value(),
				)
			);
			$dropdown = str_replace('<select', '<select ' . $this->get_link(), $dropdown);
			printf(
				'<label class="customize-control-select"><span class="customize-control-title">%s</span> %s</label>',
				esc_attr($this->label),
				$dropdown
			);
		}
	}
}

// Class Slider custom control
if (class_exists('WP_Customize_Control')) {

	class Willer_Slider_Custom_Control extends WP_Customize_Control
	{
		/**
		 * The type of control being rendered
		 */
		public $type = 'slider_control';
		/**
		 * Enqueue our scripts and styles
		 */
		public function enqueue()
		{
			wp_enqueue_script('willer_custom_controls_js', trailingslashit(get_template_directory_uri()) . 'inc/js/willer-class-customizer.js', array('jquery', 'jquery-ui-core'), '1.0', true);
			wp_enqueue_style('willer_custom_controls_css', trailingslashit(get_template_directory_uri()) . 'inc/css/willer-customizer.css', array(), '1.0', 'all');
		}
		/**
		 * Render the control in the customizer
		 */
		public function render_content()
		{
		?>
			<div class="slider-custom-control">
				<span class="customize-control-title"><?php echo esc_html($this->label); ?></span><input type="number" id="<?php echo esc_attr($this->id); ?>" name="<?php echo esc_attr($this->id); ?>" value="<?php echo esc_attr($this->value()); ?>" class="customize-control-slider-value" <?php $this->link(); ?> />
				<div class="slider" slider-min-value="<?php echo esc_attr($this->input_attrs['min']); ?>" slider-max-value="<?php echo esc_attr($this->input_attrs['max']); ?>" slider-step-value="<?php echo esc_attr($this->input_attrs['step']); ?>"></div><span class="slider-reset dashicons dashicons-image-rotate" slider-reset-value="<?php echo esc_attr($this->value()); ?>"></span>
			</div>
		<?php
		}
	}
}

// Class Toggle Switchs */
if (class_exists('WP_Customize_Control')) {

	class Willer_Toggle_Switch_Custom_control extends WP_Customize_Control
	{
		/**
		 * The type of control being rendered
		 */
		public $type = 'toogle_switch';
		/**
		 * Enqueue our scripts and styles
		 */
		public function enqueue()
		{
			wp_enqueue_style('willer_custom_controls_css', trailingslashit(get_template_directory_uri()) . 'inc/css/willer-customizer.css', array(), '1.0', 'all');
		}
		/**
		 * Render the control in the customizer
		 */
		public function render_content()
		{
		?>
			<div class="toggle-switch-control">
				<div class="toggle-switch">
					<input type="checkbox" id="<?php echo esc_url($this->id); ?>" name="<?php echo esc_url($this->id); ?>" class="toggle-switch-checkbox" value="<?php echo esc_attr($this->value()); ?>" <?php $this->link();
																																																			checked($this->value()); ?>>
					<label class="toggle-switch-label" for="<?php echo esc_url($this->id); ?>">
						<span class="toggle-switch-inner"></span>
						<span class="toggle-switch-switch"></span>
					</label>
				</div>
				<span class="customize-control-title"><?php echo esc_html($this->label); ?></span>
				<?php if (!empty($this->description)) { ?>
					<span class="customize-control-description"><?php echo esc_html($this->description); ?></span>
				<?php } ?>
			</div>
		<?php
		}
	}
}

// Class Alpha Color  */
if (class_exists('WP_Customize_Control')) {
	class Willer_Customize_Alpha_Color_Control extends WP_Customize_Control
	{
		public $type = 'alpha-color';
		public $palette;
		public $show_opacity;
		public function enqueue()
		{
			wp_enqueue_script('willer_custom_controls_js', trailingslashit(get_template_directory_uri()) . 'inc/js/willer-class-customizer.js', array('jquery', 'wp-color-picker'), '1.0', true);
			wp_enqueue_style('willer_custom_controls_css', trailingslashit(get_template_directory_uri()) . 'inc/css/willer-customizer.css', array('wp-color-picker'), '1.0', 'all');
		}
		public function render_content()
		{
			if (is_array($this->palette)) {
				$palette = implode('|', $this->palette);
			} else {
				$palette = (false === $this->palette || 'false' === $this->palette) ? 'false' : 'true';
			}
			$show_opacity = (false === $this->show_opacity || 'false' === $this->show_opacity) ? 'false' : 'true';
		?>
			<label>
				<?php
				if (isset($this->label) && '' !== $this->label) {
					echo '<span class="customize-control-title">' . esc_attr(sanitize_text_field($this->label)) . '</span>';
				}
				if (isset($this->description) && '' !== $this->description) {
					echo '<span class="description customize-control-description">' . esc_attr(sanitize_text_field($this->description)) . '</span>';
				} ?>
			</label>
			<input class="alpha-color-control" type="text" data-show-opacity="<?php echo esc_attr($show_opacity); ?>" data-palette="<?php echo esc_attr($palette); ?>" data-default-color="<?php echo esc_attr($this->settings['default']->default); ?>" <?php $this->link(); ?> />
		<?php
		}
	}
}

/* ------------------------------------*
##  Text Radio Button Custom Control */
/* ----------------------------------- */

if (class_exists('WP_Customize_Control')) {

	class Willer_Text_Radio_Button_Custom_Control extends WP_Customize_Control
	{
		/**
		 * The type of control being rendered
		 */
		public $type = 'text_radio_button';
		/**
		 * Render the control in the customizer
		 */
		public function render_content()
		{
		?>
			<div class="text_radio_button_control">
				<?php if (!empty($this->label)) { ?>
					<span class="customize-control-title"><?php echo esc_html($this->label); ?></span>
				<?php } ?>
				<?php if (!empty($this->description)) { ?>
					<span class="customize-control-description"><?php echo esc_html($this->description); ?></span>
				<?php } ?>

				<div class="radio-buttons">
					<?php foreach ($this->choices as $key => $value) { ?>
						<label class="radio-button-label">
							<input type="radio" name="<?php echo esc_attr($this->id); ?>" value="<?php echo esc_attr($key); ?>" <?php $this->link(); ?> <?php checked(esc_attr($key), $this->value()); ?> />
							<span><?php echo esc_html($value); ?></span>
						</label>
					<?php	} ?>
				</div>
			</div>
<?php
		}
	}
}

/* ----------------------------------------------- *
##  6 General Sanitization  */
/* ------------------------------------------------*/

// Slider custom control Sanitization
if (!function_exists('willer_sanitize_integer')) {
	function willer_sanitize_integer($input)
	{
		return (int) $input;
	}
}

// Sanitize alpha color for Meta Box
function willer_sanitize_rgba($color)
{
	if (empty($color) || is_array($color))
		return 'rgba(0,0,0,0)';
	// If string does not start with 'rgba', then treat as hex
	// sanitize the hex color and finally convert hex to rgba
	if (false === strpos($color, 'rgba')) {
		return sanitize_hex_color($color);
	}
	// By now we know the string is formatted as an rgba color so we need to further sanitize it.
	$color = str_replace(' ', '', $color);
	sscanf($color, 'rgba(%d,%d,%d,%f)', $red, $green, $blue, $alpha);
	return 'rgba(' . $red . ',' . $green . ',' . $blue . ',' . $alpha . ')';
}

// Saniteze Categories
function willer_sanitize_category_select($cat_id, $setting)
{
	$cat_id = absint($cat_id);
	return is_string(get_the_category_by_ID($cat_id)) ? $cat_id :  $setting->default;
}

// Toggle switch Sanitization */
if (!function_exists('willer_switch_sanitization')) {
	function willer_switch_sanitization($input)
	{
		if (true === $input) {
			return 1;
		} else {
			return 0;
		}
	}
}

// Saniteze Dropdown Page
function willer_sanitize_dropdown_pages($page_id, $setting)
{
	// Ensure $input is an absolute integer.
	$page_id = absint($page_id);

	// If $page_id is an ID of a published page, return it; otherwise, return the default.
	return ('publish' == get_post_status($page_id) ? $page_id : $setting->default);
}

// Alpha Color Sanitization for Customizer
if (!function_exists('willer_hex_rgba_sanitization')) {
	function willer_hex_rgba_sanitization($input, $setting)
	{
		if (empty($input) || is_array($input)) {
			return $setting->default;
		}
		if (false === strpos($input, 'rgba')) {
			$input = sanitize_hex_color($input);
		} else {
			$input = str_replace(' ', '', $input);
			sscanf($input, 'rgba(%d,%d,%d,%f)', $red, $green, $blue, $alpha);
			$input = 'rgba(' . willer_in_range($red, 0, 255) . ',' . willer_in_range($green, 0, 255) . ',' . willer_in_range($blue, 0, 255) . ',' . willer_in_range($alpha, 0, 1) . ')';
		}
		return $input;
	}
}

// Number Sanitization for Meta Box
if (!function_exists('willer_in_range')) {
	function willer_in_range($input, $min, $max)
	{
		if ($input < $min) {
			$input = $min;
		}
		if ($input > $max) {
			$input = $max;
		}
		return $input;
	}
}

// Select sanitization function
function willer_sanitize_select($input, $setting)
{
	//input must be a slug: lowercase alphanumeric characters, dashes and underscores are allowed only
	$input = sanitize_key($input);
	//get the list of possible select options
	$choices = $setting->manager->get_control($setting->id)->choices;
	//return input if valid or return default option
	return (array_key_exists($input, $choices) ? $input : $setting->default);
}


// Custom Number Sanitization for Customizer
function willer_sanitize_number_absint($number, $setting)
{
	// Ensure $number is an absolute integer (whole number, zero or greater).
	$number = absint($number);
	// If the input is an absolute integer, return it; otherwise, return the default
	return ($number ? $number : $setting->default);
}


// Radio Button and Select sanitization 
if (!function_exists('willer_radio_sanitization')) {
	function willer_radio_sanitization($input, $setting)
	{
		//get the list of possible radio box or select options
		$choices = $setting->manager->get_control($setting->id)->choices;

		if (array_key_exists($input, $choices)) {
			return $input;
		} else {
			return $setting->default;
		}
	}
}

// Text sanitization 
if (!function_exists('willer_text_sanitization')) {
	function willer_text_sanitization($input)
	{
		if (strpos($input, ',') !== false) {
			$input = explode(',', $input);
		}
		if (is_array($input)) {
			foreach ($input as $key => $value) {
				$input[$key] = sanitize_text_field($value);
			}
			$input = implode(',', $input);
		} else {
			$input = sanitize_text_field($input);
		}
		return $input;
	}
}

/* ----------------------------------------------- *
## 7 Calback Social */
/* ------------------------------------------------*/

// Facebook
function willer_enable_facebook_social($control)
{
	$option = $control->manager->get_setting('willer_enable_facebook_social');
	return $option->value() == 'willer_link_facebook_social';
}

// Twitter
function willer_enable_twitter_social($control)
{
	$option = $control->manager->get_setting('willer_enable_twitter_social');
	return $option->value() == 'willer_link_twitter_social';
}

// Google Plus
function willer_enable_google_plus_social($control)
{
	$option = $control->manager->get_setting('willer_enable_google_plus_social');
	return $option->value() == 'willer_link_google_plus_social';
}

// Dribbble
function willer_enable_dribbble_social($control)
{
	$option = $control->manager->get_setting('willer_enable_dribbble_social');
	return $option->value() == 'willer_link_dribbble_social';
}

// Tumblr
function willer_enable_tumblr_social($control)
{
	$option = $control->manager->get_setting('willer_enable_tumblr_social');
	return $option->value() == 'willer_link_tumblr_social';
}

// Instagram
function willer_enable_instagram_social($control)
{
	$option = $control->manager->get_setting('willer_enable_instagram_social');
	return $option->value() == 'willer_link_instagram_social';
}

// Linkedin
function willer_enable_linkedin_social($control)
{
	$option = $control->manager->get_setting('willer_enable_linkedin_social');
	return $option->value() == 'willer_link_linkedin_social';
}

// Youtube
function willer_enable_youtube_social($control)
{
	$option = $control->manager->get_setting('willer_enable_youtube_social');
	return $option->value() == 'willer_link_youtube_social';
}

// Pinterest
function willer_enable_pinterest_social($control)
{
	$option = $control->manager->get_setting('willer_enable_pinterest_social');
	return $option->value() == 'willer_link_pinterest_social';
}

// Flickr
function willer_enable_flickr_social($control)
{
	$option = $control->manager->get_setting('willer_enable_flickr_social');
	return $option->value() == 'willer_link_flickr_social';
}

// Github
function willer_enable_github_social($control)
{
	$option = $control->manager->get_setting('willer_enable_github_social');
	return $option->value() == 'willer_link_github_social';
}

/* ----------------------------------------------- *
## 8 Effect Image Section */
/* ------------------------------------------------*/

// Effect Image About
function willer_enable_effect_image_about($control)
{
	$option = $control->manager->get_setting('willer_enable_effect_image_about');
	return $option->value() == 'willer_color_effect_img_about';
}

// Effect Image Portoflio
function willer_enable_effect_image_portfolio($control)
{
	$option = $control->manager->get_setting('willer_enable_effect_image_portfolio');
	return $option->value() == 'willer_color_effect_img_portfolio';
}

// Effect Image Portoflio
function willer_enable_effect_image_blog($control)
{
	$option = $control->manager->get_setting('willer_enable_effect_image_blog');
	return $option->value() == 'willer_color_effect_img_blog';
}

/* ----------------------------------------------- *
## 9 Calback Footer */
/* ------------------------------------------------*/

// Font Size Logo Footer
function willer_enable_custom_logo_footer($control)
{
	$option = $control->manager->get_setting('willer_enable_custom_logo_footer');
	return $option->value() == 'willer_logo_footer';
}
