<?php
/**
 * Theme Customizer.
 *
 * @package Pen
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! function_exists( 'pen_customize_color' ) ) {
	/**
	 * Adds color options.
	 *
	 * @param WP_Customize_Manager $wp_customize Theme Customizer object.
	 *
	 * @since Pen 1.0.0
	 * @return void
	 */
	function pen_customize_color( &$wp_customize ) {

		$preset = esc_html( pen_preset_get( 'color' ) );

		$panel = 'pen_panel_colors';
		$wp_customize->add_panel(
			$panel,
			array(
				'title'    => __( 'Colors', 'pen' ),
				'priority' => 1,
			)
		);

		$wp_customize->get_section( 'colors' )->title    = __( 'General', 'pen' );
		$wp_customize->get_section( 'colors' )->priority = 1;
		$wp_customize->get_section( 'colors' )->panel    = 'pen_colors';

		/**
		 * General.
		 */
		$section = 'pen_section_colors_general';
		$wp_customize->add_section(
			$section,
			array(
				'title' => __( 'General', 'pen' ),
				'panel' => $panel,
			)
		);

		$setting_id = "pen_color_shadow[$preset]";
		$label      = __( 'Shadows', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_color_site_shadow_display[$preset]";
		$label      = __( 'Shadow display', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_color_site_background[$preset]";
		$label      = __( 'Site background color', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_site_background_effect[$preset]";
		$label      = __( 'Site background effect', 'pen' );
		$choices    = array(
			'none'       => __( 'None', 'pen' ),
			'trianglify' => __( 'Trianglify', 'pen' ),
			'shards'     => __( 'Shards', 'pen' ),
		);
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $choices, $label );

		$setting_id = "pen_color_text[$preset]";
		$label      = __( 'Text', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_link[$preset]";
		$label      = __( 'Links color', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_color_link_hover[$preset]";
		$label      = __( 'Links (hover)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_color_button_background_primary[$preset]";
		$label      = __( 'Buttons background (top)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_color_button_background_secondary[$preset]";
		$label      = __( 'Buttons background (bottom)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_color_button_text[$preset]";
		$label      = __( 'Buttons text', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_color_button_border[$preset]";
		$label      = __( 'Buttons border', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'refresh', $label );

		/**
		 * Header.
		 */
		$section = 'pen_section_colors_header';
		$wp_customize->add_section(
			$section,
			array(
				'title'              => __( 'Header', 'pen' ),
				'panel'              => $panel,
				'description_hidden' => true,
			)
		);

		$setting_id = "pen_color_header_background_primary[$preset]";
		$label      = __( 'Background (primary)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_color_header_background_secondary[$preset]";
		$label      = __( 'Background (secondary)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_color_header_background_angle[$preset]";
		$label      = __( 'Angle', 'pen' );
		$choices    = array(
			'to right'  => __( 'Horizontal', 'pen' ),
			'125deg'    => __( 'Diagonal', 'pen' ),
			'to bottom' => __( 'Vertical', 'pen' ),
		);
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $choices, $label );

		$setting_id = "pen_color_header_text_shadow[$preset]";
		$label      = __( 'Text shadow color', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_header_text_shadow_display[$preset]";
		$label      = __( 'Text shadow', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_header_sitetitle[$preset]";
		$label      = __( 'Site title color', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_header_sitetitle_hover[$preset]";
		$label      = __( 'Site title (hover)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_header_sitedescription[$preset]";
		$label      = __( 'Site description color', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_header_sitedescription_hover[$preset]";
		$label      = __( 'Site description (hover)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_header_phone[$preset]";
		$label      = __( 'Phone color', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_header_phone_hover[$preset]";
		$label      = __( 'Phone (hover)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_header_link[$preset]";
		$label      = __( 'Links color', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_header_link_hover[$preset]";
		$label      = __( 'Links (hover)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_header_text[$preset]";
		$label      = __( 'Text color', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_header_field_background_primary[$preset]";
		$label      = __( 'Form fields background (top)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_header_field_background_secondary[$preset]";
		$label      = __( 'Form fields background (bottom)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_header_field_text[$preset]";
		$label      = __( 'Form fields text color', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_header_search_background_primary[$preset]";
		$label      = __( 'Search button (top)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_color_header_search_background_secondary[$preset]";
		$label      = __( 'Search button (bottom)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_color_header_search_text[$preset]";
		$label      = __( 'Search button text', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'refresh', $label );

		/**
		 * Navigation colors.
		 */
		$section = 'pen_section_colors_navigation';
		$wp_customize->add_section(
			$section,
			array(
				'title' => __( 'Navigation', 'pen' ),
				'panel' => $panel,
			)
		);

		$setting_id = "pen_color_navigation_background_primary[$preset]";
		$label      = __( 'Background (primary)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_color_navigation_background_secondary[$preset]";
		$label      = __( 'Background (secondary)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_color_navigation_background_angle[$preset]";
		$label      = __( 'Angle', 'pen' );
		$choices    = array(
			'to right'  => __( 'Horizontal', 'pen' ),
			'125deg'    => __( 'Diagonal', 'pen' ),
			'to bottom' => __( 'Vertical', 'pen' ),
		);
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $choices, $label );

		$setting_id = "pen_color_navigation_background_submenu_primary[$preset]";
		$label      = __( 'Sub-menu background (primary)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_color_navigation_background_submenu_secondary[$preset]";
		$label      = __( 'Sub-menu background (secondary)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_color_navigation_background_submenu_angle[$preset]";
		$label      = __( 'Angle', 'pen' );
		$choices    = array(
			'to right'  => __( 'Horizontal', 'pen' ),
			'125deg'    => __( 'Diagonal', 'pen' ),
			'to bottom' => __( 'Vertical', 'pen' ),
		);
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $choices, $label );

		$setting_id = "pen_color_navigation_text_shadow[$preset]";
		$label      = __( 'Text shadow color', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_navigation_text_shadow_display[$preset]";
		$label      = __( 'Text shadow', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_navigation_link[$preset]";
		$label      = __( 'Links color', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_color_navigation_link_hover[$preset]";
		$label      = __( 'Links (hover)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_navigation_link_submenu[$preset]";
		$label      = __( 'Submenu links color', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_navigation_link_hover_submenu[$preset]";
		$label      = __( 'Submenu links (hover)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_navigation_text_shadow_submenu[$preset]";
		$label      = __( 'Text shadow (submenus)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_navigation_text_shadow_display_submenu[$preset]";
		$label      = __( 'Text shadow (submenus)', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'postMessage', $label );

		/**
		 * Search.
		 */
		$section = 'pen_section_colors_search';
		$wp_customize->add_section(
			$section,
			array(
				'title'       => __( 'Search Bar', 'pen' ),
				'panel'       => $panel,
				'description' => __( 'Please make sure you have the search box added to the top of the content area through Customize &rarr; Header &rarr; Search, otherwise changes that you will make in this section cannot be previewed live like the rest of the settings.', 'pen' ),
			)
		);

		$setting_id = "pen_color_search_background_primary[$preset]";
		$label      = __( 'Background (primary)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_color_search_background_secondary[$preset]";
		$label      = __( 'Background (secondary)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_color_search_background_angle[$preset]";
		$label      = __( 'Angle', 'pen' );
		$choices    = array(
			'to right'  => __( 'Horizontal', 'pen' ),
			'125deg'    => __( 'Diagonal', 'pen' ),
			'to bottom' => __( 'Vertical', 'pen' ),
		);
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $choices, $label );

		$setting_id = "pen_color_search_field_background_primary[$preset]";
		$label      = __( 'Search fields background (top)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_search_field_background_secondary[$preset]";
		$label      = __( 'Search fields background (bottom)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_search_field_text[$preset]";
		$label      = __( 'Form fields text color', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_search_button_background_primary[$preset]";
		$label      = __( 'Search button (top)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_search_button_background_secondary[$preset]";
		$label      = __( 'Search button (bottom)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_search_button_text[$preset]";
		$label      = __( 'Search button text', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_search_text[$preset]";
		$label      = __( 'Text color', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_search_link[$preset]";
		$label      = __( 'Links color', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_search_link_hover[$preset]";
		$label      = __( 'Links (hover)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_search_text_shadow[$preset]";
		$label      = __( 'Text shadow color', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_search_text_shadow_display[$preset]";
		$label      = __( 'Text shadow', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'postMessage', $label );

		/**
		 * Content.
		 */
		$section = 'pen_section_colors_content';
		$wp_customize->add_section(
			$section,
			array(
				'title' => __( 'Posts & pages', 'pen' ),
				'panel' => $panel,
			)
		);

		$setting_id = "pen_color_content_title_background_primary[$preset]";
		$label      = __( 'Post title background (primary)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_content_title_background_secondary[$preset]";
		$label      = __( 'Post title background (secondary)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_content_title_background_angle[$preset]";
		$label      = __( 'Angle', 'pen' );
		$choices    = array(
			'to right'  => __( 'Horizontal', 'pen' ),
			'125deg'    => __( 'Diagonal', 'pen' ),
			'to bottom' => __( 'Vertical', 'pen' ),
		);
		pen_control_select( $wp_customize, $setting_id, $section, 'postMessage', $choices, $label );

		$setting_id = "pen_color_content_title_text[$preset]";
		$label      = __( 'Post title text color', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_content_title_text_shadow[$preset]";
		$label      = __( 'Post title text shadow color', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_content_title_text_shadow_display[$preset]";
		$label      = __( 'Post title text shadow', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_content_title_link[$preset]";
		$label      = __( 'Post title link color', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_content_title_link_hover[$preset]";
		$label      = __( 'Post title link (hover)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_content_background_primary[$preset]";
		$label      = __( 'Background color', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id  = "pen_color_content_thumbnail_frame[$preset]";
		$label       = __( 'Featured image frame (Full content)', 'pen' );
		$description = __( 'Make sure the thumbnail frame is enabled in Customize &rarr; Content &rarr; Full content view.', 'pen' );
		$choices     = array(
			'#ffffff' => __( 'Light', 'pen' ),
			'#000000' => __( 'Dark', 'pen' ),
		);
		pen_control_select( $wp_customize, $setting_id, $section, 'postMessage', $choices, $label, $description );

		$setting_id = "pen_color_content_text[$preset]";
		$label      = __( 'Text color', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_content_link[$preset]";
		$label      = __( 'Links', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_content_link_hover[$preset]";
		$label      = __( 'Links (hover)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_content_field_background_primary[$preset]";
		$label      = __( 'Form fields background (top)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_content_field_background_secondary[$preset]";
		$label      = __( 'Form fields background (bottom)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_content_field_text[$preset]";
		$label      = __( 'Form fields text color', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		/**
		 * Lists.
		 */
		$section = 'pen_section_colors_list';
		$wp_customize->add_section(
			$section,
			array(
				'title' => __( 'List views', 'pen' ),
				'panel' => $panel,
			)
		);

		$setting_id  = "pen_color_list_thumbnail_frame[$preset]";
		$label       = __( 'Featured image frame (plain list)', 'pen' );
		$description = __( 'Make sure the thumbnail frame is enabled in Customize &rarr; Content &rarr; List Views.', 'pen' );
		$choices     = array(
			'#ffffff' => __( 'Light', 'pen' ),
			'#000000' => __( 'Dark', 'pen' ),
		);
		pen_control_select( $wp_customize, $setting_id, $section, 'postMessage', $choices, $label, $description );

		$setting_id  = "pen_color_list_thumbnail_background_primary[$preset]";
		$label       = __( 'Thumbnails background (primary)', 'pen' );
		$description = __( 'Only for the jQuery Masonry layouts.', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'refresh', $label, $description );

		$setting_id  = "pen_color_list_thumbnail_background_secondary[$preset]";
		$label       = __( 'Thumbnails background (secondary)', 'pen' );
		$description = __( 'Only for the jQuery Masonry layouts.', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'refresh', $label, $description );

		/**
		 * Bottom.
		 */
		$section = 'pen_section_colors_bottom';
		$wp_customize->add_section(
			$section,
			array(
				'title' => __( 'Bottom', 'pen' ),
				'panel' => $panel,
			)
		);

		$setting_id = "pen_color_bottom_background_transparent[$preset]";
		$label      = __( 'Transparent background', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_color_bottom_background_primary[$preset]";
		$label      = __( 'Background (primary)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_color_bottom_background_secondary[$preset]";
		$label      = __( 'Background (secondary)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_color_bottom_background_angle[$preset]";
		$label      = __( 'Angle', 'pen' );
		$choices    = array(
			'to right'  => __( 'Horizontal', 'pen' ),
			'125deg'    => __( 'Diagonal', 'pen' ),
			'to bottom' => __( 'Vertical', 'pen' ),
		);
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $choices, $label );

		$setting_id = "pen_color_bottom_text[$preset]";
		$label      = __( 'Text color', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_bottom_link[$preset]";
		$label      = __( 'Links color', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_bottom_link_hover[$preset]";
		$label      = __( 'Links (hover)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_bottom_text_shadow[$preset]";
		$label      = __( 'Text shadow color', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_bottom_text_shadow_display[$preset]";
		$label      = __( 'Text shadow', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id  = "pen_color_bottom_headings[$preset]";
		$label       = __( 'Headings color', 'pen' );
		$description = __( 'Only applies to widgets with no color scheme.', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label, $description );

		$setting_id  = "pen_color_bottom_headings_text_shadow[$preset]";
		$label       = __( 'Headings shadow color', 'pen' );
		$description = __( 'Only applies to widgets with no color scheme.', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label, $description );

		$setting_id = "pen_color_bottom_headings_text_shadow_display[$preset]";
		$label      = __( 'Headings shadow', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_bottom_field_background_primary[$preset]";
		$label      = __( 'Form fields background (top)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_bottom_field_background_secondary[$preset]";
		$label      = __( 'Form fields background (bottom)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_bottom_field_text[$preset]";
		$label      = __( 'Form fields text color', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		/**
		 * Footer.
		 */
		$section = 'pen_section_colors_footer';
		$wp_customize->add_section(
			$section,
			array(
				'title' => __( 'Footer', 'pen' ),
				'panel' => $panel,
			)
		);

		$setting_id = "pen_color_footer_background_transparent[$preset]";
		$label      = __( 'Transparent background', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_color_footer_background_primary[$preset]";
		$label      = __( 'Background (primary)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_color_footer_background_secondary[$preset]";
		$label      = __( 'Background (secondary)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_color_footer_background_angle[$preset]";
		$label      = __( 'Angle', 'pen' );
		$choices    = array(
			'to right'  => __( 'Horizontal', 'pen' ),
			'125deg'    => __( 'Diagonal', 'pen' ),
			'to bottom' => __( 'Vertical', 'pen' ),
		);
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $choices, $label );

		$setting_id = "pen_color_footer_text[$preset]";
		$label      = __( 'Text color', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_footer_link[$preset]";
		$label      = __( 'Links color', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_color_footer_link_hover[$preset]";
		$label      = __( 'Links (hover)', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_color_footer_text_shadow[$preset]";
		$label      = __( 'Text shadow color', 'pen' );
		pen_control_color( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_color_footer_text_shadow_display[$preset]";
		$label      = __( 'Text shadow', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'postMessage', $label );

	}
}

if ( ! function_exists( 'pen_customize_typography' ) ) {
	/**
	 * Adds typography options.
	 *
	 * @param WP_Customize_Manager $wp_customize Theme Customizer object.
	 *
	 * @since Pen 1.0.0
	 * @return void
	 */
	function pen_customize_typography( &$wp_customize ) {

		$preset      = 'preset_1';
		$preset_font = esc_html( pen_preset_get( 'font_family' ) );

		$list_fonts = array_merge(
			array(
				'default' => __( 'Default', 'pen' ),
			),
			pen_fonts_all()
		);

		$list_sizes = array(
			'0.5em'   => __( 'Very Small', 'pen' ),
			'0.75em'  => __( 'Small', 'pen' ),
			'default' => __( 'Default', 'pen' ),
			'2em'     => __( 'Large', 'pen' ),
			'3em'     => __( 'Very Large', 'pen' ),
		);

		$panel = 'pen_panel_typography';
		$wp_customize->add_panel(
			$panel,
			array(
				'title'    => __( 'Typography', 'pen' ),
				'priority' => 2,
			)
		);

		/**
		 * General.
		 */
		$section = 'pen_section_typography_general';
		$wp_customize->add_section(
			$section,
			array(
				'title' => __( 'General', 'pen' ),
				'panel' => $panel,
			)
		);

		$setting_id = "pen_font_family_site[$preset_font]";
		$label      = __( 'Base font', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $list_fonts, $label );

		$setting_id = "pen_font_family_headings[$preset_font]";
		$label      = __( 'Headings font', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $list_fonts, $label );

		$setting_id = "pen_font_family_title_list[$preset_font]";
		$label      = __( 'Content title font (In lists)', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $list_fonts, $label );

		$setting_id = "pen_font_size_title_list[$preset]";
		$label      = __( 'Content title font size (In lists)', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $list_sizes, $label );

		$setting_id = "pen_font_family_title_content[$preset_font]";
		$label      = __( 'Content title font (Full content)', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $list_fonts, $label );

		$setting_id = "pen_font_size_title_content[$preset]";
		$label      = __( 'Content title font size (Full content)', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $list_sizes, $label );

		$setting_id = "pen_font_family_forms[$preset_font]";
		$label      = __( 'Forms font', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $list_fonts, $label );

		$setting_id = "pen_font_family_buttons[$preset_font]";
		$label      = __( 'Buttons font', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $list_fonts, $label );

		/**
		 * Header.
		 */
		$section = 'pen_section_typography_header';
		$wp_customize->add_section(
			$section,
			array(
				'title' => __( 'Header', 'pen' ),
				'panel' => $panel,
			)
		);

		$setting_id = "pen_font_family_sitetitle[$preset_font]";
		$label      = __( 'Site title font', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $list_fonts, $label );

		$setting_id = "pen_font_size_sitetitle[$preset]";
		$label      = __( 'Site title font size', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $list_sizes, $label );

		$setting_id  = "pen_font_resize_sitetitle[$preset]";
		$label       = __( 'Site title font resize', 'pen' );
		$description = __( 'Font size enhancement on small screens', 'pen' );
		$choices     = array(
			'none'    => __( 'Disabled', 'pen' ),
			'dynamic' => __( 'Dynamic', 'pen' ),
			'resize'  => __( 'Shrink to fit', 'pen' ),
		);
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $choices, $label, $description );

		$setting_id = "pen_font_family_sitedescription[$preset_font]";
		$label      = __( 'Site description font', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $list_fonts, $label );

		$setting_id = "pen_font_size_sitedescription[$preset]";
		$label      = __( 'Site description font size', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $list_sizes, $label );

		$setting_id = "pen_font_size_social_header[$preset]";
		$label      = __( 'Social links font size', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $list_sizes, $label );

		$setting_id = "pen_font_family_phone_header[$preset_font]";
		$label      = __( 'Phone font', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $list_fonts, $label );

		$setting_id = "pen_font_size_phone_header[$preset]";
		$label      = __( 'Phone font size', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $list_sizes, $label );

		/**
		 * Footer fonts.
		 */
		$section = 'pen_section_typography_footer';
		$wp_customize->add_section(
			$section,
			array(
				'title' => __( 'Footer', 'pen' ),
				'panel' => $panel,
			)
		);

		$setting_id = "pen_font_family_phone_footer[$preset_font]";
		$label      = __( 'Phone font', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $list_fonts, $label );

		$setting_id = "pen_font_size_phone_footer[$preset]";
		$label      = __( 'Phone font size', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $list_sizes, $label );

		/**
		 * Navigation font.
		 */
		$section = 'pen_section_typography_navigation';
		$wp_customize->add_section(
			$section,
			array(
				'title' => __( 'Navigation', 'pen' ),
				'panel' => $panel,
			)
		);

		$setting_id = "pen_font_family_navigation[$preset_font]";
		$label      = __( 'Navigation font (parents)', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $list_fonts, $label );

		$setting_id = "pen_font_size_navigation[$preset]";
		$label      = __( 'Navigation font size', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $list_sizes, $label );

		$setting_id = "pen_font_family_navigation_submenu[$preset_font]";
		$label      = __( 'Navigation font (sub-menus)', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $list_fonts, $label );

		/**
		 * Sidebars.
		 */
		$section = 'pen_section_typography_sidebars';
		$wp_customize->add_section(
			$section,
			array(
				'title' => __( 'Sidebars', 'pen' ),
				'panel' => $panel,
			)
		);

		$setting_id = "pen_font_family_widget_title_top[$preset_font]";
		$label      = __( 'Top: Widget title font', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $list_fonts, $label );

		$setting_id = "pen_font_size_widget_title_top[$preset]";
		$label      = __( 'Top: Widget title font size', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $list_sizes, $label );

		$setting_id = "pen_font_family_widget_title_left[$preset_font]";
		$label      = __( 'Left: Widget title font', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $list_fonts, $label );

		$setting_id = "pen_font_size_widget_title_left[$preset]";
		$label      = __( 'Left: Widget title font size', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $list_sizes, $label );

		$setting_id = "pen_font_family_widget_title_right[$preset_font]";
		$label      = __( 'Right: Widget title font', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $list_fonts, $label );

		$setting_id = "pen_font_size_widget_title_right[$preset]";
		$label      = __( 'Right: Widget title font size', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $list_sizes, $label );

		$setting_id = "pen_font_family_widget_title_bottom[$preset_font]";
		$label      = __( 'Bottom: Widget title font', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $list_fonts, $label );

		$setting_id = "pen_font_size_widget_title_bottom[$preset]";
		$label      = __( 'Bottom: Widget title font size', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $list_sizes, $label );

	}
}

if ( ! function_exists( 'pen_customize_header' ) ) {
	/**
	 * Adds header options.
	 *
	 * @param WP_Customize_Manager $wp_customize Theme Customizer object.
	 *
	 * @since Pen 1.0.0
	 * @return void
	 */
	function pen_customize_header( &$wp_customize ) {

		$preset = 'preset_1';

		$panel = 'pen_panel_header';
		$wp_customize->add_panel(
			$panel,
			array(
				'title'    => __( 'Header', 'pen' ),
				'priority' => 3,
			)
		);

		/*
		 * Layout.
		 */
		$section = 'pen_section_header_general';
		$wp_customize->add_section(
			$section,
			array(
				'title' => __( 'General', 'pen' ),
				'panel' => $panel,
			)
		);

		$setting_id = "pen_header_sticky[$preset]";
		$label      = __( 'Sticky header', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_header_sitetitle_display[$preset]";
		$label      = __( 'Display the site title', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_header_sitetitle_animation_reveal[$preset]";
		$label      = __( 'Site title animation', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', pen_animations(), $label );

		$setting_id = "pen_header_sitedescription_display[$preset]";
		$label      = __( 'Display the site description', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_header_sitedescription_animation_reveal[$preset]";
		$label      = __( 'Site description animation', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', pen_animations(), $label );

		$setting_id = "pen_header_alignment[$preset]";
		$label      = __( 'Header alignment', 'pen' );
		$choices    = array(
			'left'   => __( 'Left', 'pen' ),
			'center' => __( 'Center', 'pen' ),
			'right'  => __( 'Right', 'pen' ),
		);
		pen_control_select( $wp_customize, $setting_id, $section, 'postMessage', $choices, $label );

		/*
		 * Search.
		 */
		$section = 'pen_section_header_search';
		$wp_customize->add_section(
			$section,
			array(
				'title' => __( 'Search', 'pen' ),
				'panel' => $panel,
			)
		);

		$setting_id = "pen_search_display[$preset]";
		$label      = __( 'Display the search box', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_search_location[$preset]";
		$label      = __( 'Search box location', 'pen' );
		$choices    = array(
			'header'  => __( 'Header', 'pen' ),
			'content' => __( 'Content area', 'pen' ),
		);
		pen_control_radio( $wp_customize, $setting_id, $section, 'refresh', $choices, $label );

		/*
		 * Navigation.
		 */
		$section = 'pen_section_header_navigation';
		$wp_customize->add_section(
			$section,
			array(
				'title' => __( 'Navigation', 'pen' ),
				'panel' => $panel,
			)
		);

		$setting_id = "pen_navigation_display[$preset]";
		$label      = __( 'Display the main navigation menu', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_navigation_mobile_display[$preset]";
		$label      = __( 'Display the mobile navigation menu', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_navigation_animation_reveal[$preset]";
		$label      = __( 'Animation on page load', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', pen_animations(), $label );

		$setting_id = "pen_navigation_separator[$preset]";
		$label      = __( 'Menu separator', 'pen' );
		$choices    = array(
			0 => __( 'None', 'pen' ),
		);
		for ( $i = 1; $i <= 10; $i++ ) {
			/* Translators: %d the style number. */
			$choices[ $i ] = sprintf( __( 'Style %d', 'pen' ), $i );
		}
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $choices, $label );

		$setting_id = "pen_navigation_separator_submenu[$preset]";
		$label      = __( 'Sub-menu separator', 'pen' );
		$choices    = array(
			0 => __( 'None', 'pen' ),
		);
		for ( $i = 1; $i <= 10; $i++ ) {
			/* Translators: %d the style number. */
			$choices[ $i ] = sprintf( __( 'Style %d', 'pen' ), $i );
		}
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $choices, $label );

		$setting_id = "pen_navigation_hover[$preset]";
		$label      = __( 'Hover style', 'pen' );
		$choices    = array(
			0 => __( 'None', 'pen' ),
		);
		for ( $i = 1; $i <= 10; $i++ ) {
			/* Translators: %d the style number. */
			$choices[ $i ] = sprintf( __( 'Style %d', 'pen' ), $i );
		}
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $choices, $label );

		$setting_id = "pen_navigation_arrows[$preset]";
		$label      = __( 'Dropdown arrows', 'pen' );
		$choices    = array(
			0 => __( 'None', 'pen' ),
		);
		for ( $i = 1; $i <= 10; $i++ ) {
			/* Translators: %d the style number. */
			$choices[ $i ] = sprintf( __( 'Style %d', 'pen' ), $i );
		}
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $choices, $label );

		$setting_id = "pen_navigation_easing[$preset]";
		$label      = __( 'Dropdown animation', 'pen' );
		$choices    = array(
			''              => __( 'None', 'pen' ),
			'easeInBack'    => 'easeInBack',
			'easeInBounce'  => 'easeInBounce',
			'easeInCirc'    => 'easeInCirc',
			'easeInCubic'   => 'easeInCubic',
			'easeInElastic' => 'easeInElastic',
			'easeInExpo'    => 'easeInExpo',
			'easeInQuad'    => 'easeInQuad',
			'easeInQuart'   => 'easeInQuart',
			'easeInQuint'   => 'easeInQuint',
			'easeInSine'    => 'easeInSine',
			'swing'         => 'swing',
		);
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $choices, $label );

		$setting_id = "pen_navigation_animation_speed[$preset]";
		$label      = __( 'Dropdown animation speed', 'pen' );
		$choices    = array(
			2000 => __( 'Very Slow', 'pen' ),
			1000 => __( 'Slow', 'pen' ),
			500  => __( 'Normal', 'pen' ),
			250  => __( 'Fast', 'pen' ),
			100  => __( 'Very Fast', 'pen' ),
		);
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $choices, $label );

		$setting_id = "pen_navigation_alignment[$preset]";
		$label      = __( 'Navigation alignment', 'pen' );
		$choices    = array(
			'left'   => __( 'Left', 'pen' ),
			'center' => __( 'Center', 'pen' ),
			'right'  => __( 'Right', 'pen' ),
		);
		pen_control_radio( $wp_customize, $setting_id, $section, 'postMessage', $choices, $label );

	}
}

if ( ! function_exists( 'pen_customize_content_list' ) ) {
	/**
	 * Adds "Content list" options.
	 *
	 * @param WP_Customize_Manager $wp_customize Theme Customizer object.
	 *
	 * @since Pen 1.0.0
	 * @return void
	 */
	function pen_customize_content_list( &$wp_customize ) {

		$preset = 'preset_1';

		$panel = 'pen_panel_content';
		$wp_customize->add_panel(
			$panel,
			array(
				'title'    => __( 'Content', 'pen' ),
				'priority' => 4,
			)
		);

		$section = 'pen_section_list';
		$wp_customize->add_section(
			$section,
			array(
				'title'       => __( 'List Views', 'pen' ),
				'panel'       => $panel,
				'description' => __( 'The following options apply to both "Plain list" and "jQuery Masonry" layouts.', 'pen' ),
			)
		);

		$setting_id = "pen_list_type[$preset]";
		$label      = __( 'Layout', 'pen' );
		$choices    = array(
			'masonry' => __( 'jQuery Masonry', 'pen' ),
			'plain'   => __( 'Plain list', 'pen' ),
		);
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $choices, $label );

		$setting_id  = "pen_list_masonry_columns[$preset]";
		$label       = __( 'jQuery Masonry: Columns', 'pen' );
		$description = __( 'Maximum number of columns', 'pen' );
		$choices     = array(
			'2' => __( 'Two', 'pen' ),
			'3' => __( 'Three', 'pen' ),
			'4' => __( 'Four', 'pen' ),
			'5' => __( 'Five', 'pen' ),
		);
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $choices, $label, $description );

		$setting_id = "pen_list_masonry_thumbnail_effect[$preset]";
		$label      = __( 'jQuery Masonry: Thumbnails effect', 'pen' );
		$choices    = array(
			'none'     => __( 'None', 'pen' ),
			'zoom_in'  => __( 'Zoom in', 'pen' ),
			'zoom_out' => __( 'Zoom out', 'pen' ),
		);
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $choices, $label );

		$setting_id = "pen_list_masonry_thumbnail_style[$preset]";
		$label      = __( 'jQuery Masonry: Thumbnails style', 'pen' );
		$choices    = array(
			0 => __( 'None', 'pen' ),
		);
		for ( $i = 1; $i <= 25; $i++ ) {
			/* Translators: %d the style number. */
			$choices[ $i ] = sprintf( __( 'Style %d', 'pen' ), $i );
		}
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $choices, $label );

		$setting_id = "pen_list_animation_reveal[$preset]";
		$label      = __( 'Content list animation', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', pen_animations(), $label );

		$setting_id  = "pen_list_effect[$preset]";
		$label       = __( 'Content list effect', 'pen' );
		$description = __( 'This may not work in conjunction with some of the animations in the "Content list animation" above.', 'pen' );
		$choices     = array(
			'none'         => __( 'None', 'pen' ),
			'enlarge'      => __( 'Enlarge', 'pen' ),
			'fade'         => __( 'Fade', 'pen' ),
			'enlarge_fade' => __( 'Enlarge + Fade', 'pen' ),
		);
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $choices, $label, $description );

		$setting_id = "pen_list_header_display[$preset]";
		$label      = __( 'Display post header', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_list_post_header_alignment[$preset]";
		$label      = __( 'Center-align post header', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_list_title_alignment[$preset]";
		$label      = __( 'Center-align post titles', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_list_excerpt[$preset]";
		$label      = __( 'Display excerpt', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_list_footer_display[$preset]";
		$label      = __( 'Display post footer', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_list_title_display[$preset]";
		$label      = __( 'Display post titles', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_list_author_location[$preset]";
		$label      = __( 'Post author location', 'pen' );
		$choices    = array(
			'header' => __( 'Post header', 'pen' ),
			'footer' => __( 'Post footer', 'pen' ),
		);
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $choices, $label );

		$setting_id = "pen_list_author_display[$preset]";
		$label      = __( 'Display post authors', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_list_author_animation_reveal[$preset]";
		$label      = __( 'Author profile animation', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', pen_animations(), $label );

		$setting_id = "pen_list_date_location[$preset]";
		$label      = __( 'Post date location', 'pen' );
		$choices    = array(
			'header' => __( 'Post header', 'pen' ),
			'footer' => __( 'Post footer', 'pen' ),
		);
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $choices, $label );

		$setting_id = "pen_list_date_display[$preset]";
		$label      = __( 'Display post date', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_list_category_location[$preset]";
		$label      = __( 'Post categories location', 'pen' );
		$choices    = array(
			'header' => __( 'Post header', 'pen' ),
			'footer' => __( 'Post footer', 'pen' ),
		);
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $choices, $label );

		$setting_id = "pen_list_category_display[$preset]";
		$label      = __( 'Display post categories', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_list_category_only_first[$preset]";
		$label      = __( 'Display the first category only', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_list_thumbnail_display[$preset]";
		$label      = __( 'Display post thumbnails', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_list_thumbnail_animation_reveal[$preset]";
		$label      = __( 'Thumbnails animation', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', pen_animations(), $label );

		$setting_id  = "pen_list_thumbnail_rotate[$preset]";
		$label       = __( 'Post thumbnail rotate', 'pen' );
		$description = __( 'Does not apply to the jQuery Masonry layout.', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label, $description );

		$setting_id  = "pen_list_thumbnail_frame[$preset]";
		$label       = __( 'Post thumbnail frame', 'pen' );
		$description = __( 'Does not apply to the jQuery Masonry layout.', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label, $description );

		$setting_id  = "pen_list_thumbnail_alignment[$preset]";
		$label       = __( 'Post thumbnail alignment', 'pen' );
		$description = __( 'Does not apply to the jQuery Masonry layout.', 'pen' );
		$choices     = array(
			'left'   => __( 'Left', 'pen' ),
			'center' => __( 'Center', 'pen' ),
			'right'  => __( 'Right', 'pen' ),
		);
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $choices, $label, $description );

		$setting_id      = "pen_list_thumbnail_resize[$preset]";
		$label           = __( 'Post thumbnail size', 'pen' );
		$description     = __( 'Does not apply to the jQuery Masonry layout.', 'pen' );
		$thumbnail_sizes = array(
			'none' => __( 'None', 'pen' ),
		);
		foreach ( get_intermediate_image_sizes() as $size ) { /* phpcs:ignore */
			$thumbnail_sizes[ $size ] = ucfirst( $size );
		}
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $thumbnail_sizes, $label, $description );

		$setting_id = "pen_list_summary_display[$preset]";
		$label      = __( 'Display post summaries', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_list_profile_display[$preset]";
		$label      = __( 'Display author profile', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_list_tags_display[$preset]";
		$label      = __( 'Footer: Display post tags', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_list_button_comment_display[$preset]";
		$label      = __( 'Footer: Display post comment buttons', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_list_button_edit_display[$preset]";
		$label      = __( 'Footer: Display post edit buttons', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_list_pager_animation_reveal[$preset]";
		$label      = __( 'Pagination buttons animation', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', pen_animations(), $label );

	}
}

if ( ! function_exists( 'pen_customize_content_full' ) ) {
	/**
	 * Adds "Full content" options.
	 *
	 * @param WP_Customize_Manager $wp_customize Theme Customizer object.
	 *
	 * @since Pen 1.0.2
	 * @return void
	 */
	function pen_customize_content_full( &$wp_customize ) {

		$preset = 'preset_1';

		$panel = 'pen_panel_content';

		$section = 'pen_section_content';
		$wp_customize->add_section(
			$section,
			array(
				'title'       => __( 'Full Content Views', 'pen' ),
				'description' => __( 'You can override these settings for individual contents through Posts (or Pages) &rarr; Edit &rarr; Pen Options.', 'pen' ),
				'panel'       => $panel,
			)
		);

		$setting_id = "pen_content_animation_reveal[$preset]";
		$label      = __( 'Content area animation', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', pen_animations(), $label );

		$setting_id = "pen_content_header_display[$preset]";
		$label      = __( 'Display post header', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_content_header_alignment[$preset]";
		$label      = __( 'Center-align post header', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_content_footer_display[$preset]";
		$label      = __( 'Display post footer', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_content_title_alignment[$preset]";
		$label      = __( 'Center-align post titles', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_content_title_display[$preset]";
		$label      = __( 'Display post title', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_content_author_location[$preset]";
		$label      = __( 'Post author location', 'pen' );
		$choices    = array(
			'header' => __( 'Post header', 'pen' ),
			'footer' => __( 'Post footer', 'pen' ),
		);
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $choices, $label );

		$setting_id = "pen_content_author_display[$preset]";
		$label      = __( 'Display post author', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_content_author_animation_reveal[$preset]";
		$label      = __( 'Author profile animation', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', pen_animations(), $label );

		$setting_id = "pen_content_date_location[$preset]";
		$label      = __( 'Post date location', 'pen' );
		$choices    = array(
			'header' => __( 'Post header', 'pen' ),
			'footer' => __( 'Post footer', 'pen' ),
		);
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $choices, $label );

		$setting_id = "pen_content_date_display[$preset]";
		$label      = __( 'Display post date', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_content_category_location[$preset]";
		$label      = __( 'Post categories location', 'pen' );
		$choices    = array(
			'header' => __( 'Post header', 'pen' ),
			'footer' => __( 'Post footer', 'pen' ),
		);
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $choices, $label );

		$setting_id = "pen_content_category_display[$preset]";
		$label      = __( 'Display post category', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_content_category_only_first[$preset]";
		$label      = __( 'Display the first category only', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_content_thumbnail_display[$preset]";
		$label      = __( 'Display post thumbnail', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_content_thumbnail_animation_reveal[$preset]";
		$label      = __( 'Thumbnails animation', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', pen_animations(), $label );

		$setting_id = "pen_content_thumbnail_alignment[$preset]";
		$label      = __( 'Post thumbnail alignment', 'pen' );
		$choices    = array(
			'left'   => __( 'Left', 'pen' ),
			'center' => __( 'Center', 'pen' ),
			'right'  => __( 'Right', 'pen' ),
		);
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $choices, $label );

		$setting_id      = "pen_content_thumbnail_resize[$preset]";
		$label           = __( 'Post thumbnail size', 'pen' );
		$thumbnail_sizes = array(
			'none' => __( 'None', 'pen' ),
		);
		foreach ( get_intermediate_image_sizes() as $size ) { /* phpcs:ignore */
			$thumbnail_sizes[ $size ] = ucfirst( $size );
		}
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $thumbnail_sizes, $label );

		$setting_id = "pen_content_thumbnail_rotate[$preset]";
		$label      = __( 'Post thumbnail rotate', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_content_thumbnail_frame[$preset]";
		$label      = __( 'Post thumbnail framed', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_content_tags_display[$preset]";
		$label      = __( 'Display post tags', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_content_share_location[$preset]";
		$label      = __( 'Share buttons location', 'pen' );
		$choices    = array(
			'header'  => __( 'Post header', 'pen' ),
			'content' => __( 'Post content', 'pen' ),
			'footer'  => __( 'Post footer', 'pen' ),
		);
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $choices, $label );

		$setting_id = "pen_content_share_display[$preset]";
		$label      = __( 'Display share buttons', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_content_profile_display[$preset]";
		$label      = __( 'Display author profile', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_comments_animation_reveal[$preset]";
		$label      = __( 'Comments animation', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', pen_animations(), $label );

		$setting_id = "pen_content_pager_animation_reveal[$preset]";
		$label      = __( 'Pagination animation', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', pen_animations(), $label );

	}
}

if ( ! function_exists( 'pen_customize_site_layout' ) ) {
	/**
	 * Adds "Site layout" options.
	 *
	 * @param WP_Customize_Manager $wp_customize Theme Customizer object.
	 *
	 * @since Pen 1.0.0
	 * @return void
	 */
	function pen_customize_site_layout( &$wp_customize ) {

		$preset = 'preset_1';

		$panel = 'pen_panel_content';

		$section = 'pen_section_layout';
		$wp_customize->add_section(
			$section,
			array(
				'title' => __( 'Site layout', 'pen' ),
				'panel' => $panel,
			)
		);

		$setting_id = "pen_site_width[$preset]";
		$label      = __( 'Site layout', 'pen' );
		$choices    = array(
			'standard' => __( 'Standard', 'pen' ),
			'wide'     => __( 'Wide', 'pen' ),
			'boxed'    => __( 'Boxed', 'pen' ),
		);
		pen_control_radio( $wp_customize, $setting_id, $section, 'postMessage', $choices, $label );

		$setting_id = "pen_container_position[$preset]";
		$label      = __( 'Content area alignment', 'pen' );
		$choices    = array(
			'left'   => __( 'Left', 'pen' ),
			'center' => __( 'Center', 'pen' ),
			'right'  => __( 'Right', 'pen' ),
		);
		pen_control_select( $wp_customize, $setting_id, $section, 'postMessage', $choices, $label );

		$setting_id = "pen_round_corners[$preset]";
		$label      = __( 'Round corners', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

	}
}

if ( ! function_exists( 'pen_customize_front' ) ) {
	/**
	 * "Front page" options.
	 *
	 * @param WP_Customize_Manager $wp_customize Theme Customizer object.
	 *
	 * @since Pen 1.0.2
	 * @return void
	 */
	function pen_customize_front( &$wp_customize ) {

		$preset = 'preset_1';

		$panel = 'pen_panel_front';
		$wp_customize->add_panel(
			$panel,
			array(
				'title'    => __( 'Front Page', 'pen' ),
				'priority' => 5,
			)
		);

		$wp_customize->get_section( 'static_front_page' )->panel = $panel;
		$wp_customize->get_section( 'static_front_page' )->title = __( 'Front Page Content', 'pen' );

		$section = 'pen_section_front_sidebars';
		$wp_customize->add_section(
			$section,
			array(
				'title'       => __( 'Front page sidebars', 'pen' ),
				'description' => __( 'You may also use some plugins such as the "Widget Visibility" or "Conditional Logic".', 'pen' ),
				'panel'       => $panel,
			)
		);

		$setting_id = "pen_front_sidebar_header_primary_display[$preset]";
		$label      = sprintf(
			/* Translators: %s: a widget are name. */
			__( 'Hide the "%s" widget area', 'pen' ),
			__( 'Header - Primary', 'pen' )
		);
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_front_sidebar_header_secondary_display[$preset]";
		$label      = sprintf(
			/* Translators: %s: a widget are name. */
			__( 'Hide the "%s" widget area', 'pen' ),
			__( 'Header - Secondary', 'pen' )
		);
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_front_sidebar_search_top_display[$preset]";
		$label      = sprintf(
			/* Translators: %s: a widget are name. */
			__( 'Hide the "%s" widget area', 'pen' ),
			__( 'Search - Top', 'pen' )
		);
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_front_sidebar_search_left_display[$preset]";
		$label      = sprintf(
			/* Translators: %s: a widget are name. */
			__( 'Hide the "%s" widget area', 'pen' ),
			__( 'Search - Left', 'pen' )
		);
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_front_sidebar_search_right_display[$preset]";
		$label      = sprintf(
			/* Translators: %s: a widget are name. */
			__( 'Hide the "%s" widget area', 'pen' ),
			__( 'Search - Right', 'pen' )
		);
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_front_sidebar_search_bottom_display[$preset]";
		$label      = sprintf(
			/* Translators: %s: a widget are name. */
			__( 'Hide the "%s" widget area', 'pen' ),
			__( 'Search - Bottom', 'pen' )
		);
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_front_sidebar_top_display[$preset]";
		$label      = sprintf(
			/* Translators: %s: a widget are name. */
			__( 'Hide the "%s" widget area', 'pen' ),
			__( 'Top', 'pen' )
		);
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_front_sidebar_left_display[$preset]";
		$label      = sprintf(
			/* Translators: %s: a widget are name. */
			__( 'Hide the "%s" widget area', 'pen' ),
			__( 'Left', 'pen' )
		);
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_front_sidebar_right_display[$preset]";
		$label      = sprintf(
			/* Translators: %s: a widget are name. */
			__( 'Hide the "%s" widget area', 'pen' ),
			__( 'Right', 'pen' )
		);
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_front_sidebar_content_top_display[$preset]";
		$label      = sprintf(
			/* Translators: %s: a widget are name. */
			__( 'Hide the "%s" widget area', 'pen' ),
			__( 'Content - Top', 'pen' )
		);
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_front_sidebar_content_bottom_display[$preset]";
		$label      = sprintf(
			/* Translators: %s: a widget are name. */
			__( 'Hide the "%s" widget area', 'pen' ),
			__( 'Content - Bottom', 'pen' )
		);
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_front_sidebar_bottom_display[$preset]";
		$label      = sprintf(
			/* Translators: %s: a widget are name. */
			__( 'Hide the "%s" widget area', 'pen' ),
			__( 'Bottom', 'pen' )
		);
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_front_sidebar_footer_top_display[$preset]";
		$label      = sprintf(
			/* Translators: %s: a widget are name. */
			__( 'Hide the "%s" widget area', 'pen' ),
			__( 'Footer - Top', 'pen' )
		);
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_front_sidebar_footer_left_display[$preset]";
		$label      = sprintf(
			/* Translators: %s: a widget are name. */
			__( 'Hide the "%s" widget area', 'pen' ),
			__( 'Footer - Left', 'pen' )
		);
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_front_sidebar_footer_right_display[$preset]";
		$label      = sprintf(
			/* Translators: %s: a widget are name. */
			__( 'Hide the "%s" widget area', 'pen' ),
			__( 'Footer - Right', 'pen' )
		);
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_front_sidebar_footer_bottom_display[$preset]";
		$label      = sprintf(
			/* Translators: %s: a widget are name. */
			__( 'Hide the "%s" widget area', 'pen' ),
			__( 'Footer - Bottom', 'pen' )
		);
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

	}
}

if ( ! function_exists( 'pen_customize_footer' ) ) {
	/**
	 * Adds footer options.
	 *
	 * @param WP_Customize_Manager $wp_customize Theme Customizer object.
	 *
	 * @since Pen 1.0.0
	 * @return void
	 */
	function pen_customize_footer( &$wp_customize ) {

		$preset = 'preset_1';

		$section = 'pen_section_footer';
		$wp_customize->add_section(
			$section,
			array(
				'title'       => __( 'Footer', 'pen' ),
				'description' => __( 'You can control the visibility of the phone number and social network icons through Customize &rarr; Contact and the colors of the footer links through Customize &rarr; Colors &rarr; Footer.', 'pen' ),
				'priority'    => 6,
			)
		);

		$setting_id = "pen_footer_alignment[$preset]";
		$label      = __( 'Footer alignment', 'pen' );
		$choices    = array(
			'left'   => __( 'Left', 'pen' ),
			'center' => __( 'Center', 'pen' ),
			'right'  => __( 'Right', 'pen' ),
		);
		pen_control_select( $wp_customize, $setting_id, $section, 'postMessage', $choices, $label );

		$setting_id = "pen_footer_menu_display[$preset]";
		$label      = __( 'Display footer navigation', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id = "pen_footer_menu_animation_reveal[$preset]";
		$label      = __( 'Footer menu animation', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', pen_animations(), $label );

		$setting_id = "pen_footer_back_to_top_display[$preset]";
		$label      = __( 'Display "back to top" link', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_footer_copyright_display[$preset]";
		$label      = __( 'Display copyright', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'postMessage', $label );

		$setting_id  = "pen_footer_copyright_text[$preset]";
		$label       = __( 'Copyright notice', 'pen' );
		$description = sprintf(
			/* Translators: %s: HTML list. */
			__( 'The following tokens are available:%s', 'pen' ),
			sprintf(
				'<br><ul><li>%s</li><li>%s</li><li>%s</li></ul>%s',
				__( '<strong>%YEAR%</strong> for the current year.', 'pen' ),
				__( '<strong>%SITE_NAME%</strong> for your site name as set in Settings &rarr; General.', 'pen' ),
				__( '<strong>%SITE_URL%</strong> for your site URL as set in Settings &rarr; General.', 'pen' ),
				sprintf(
					/* Translators: %s: some text. */
					__( '<strong>Examples:</strong>%s', 'pen' ),
					sprintf(
						'<br><small>%s</small><br><small>%s</small><br><small><em>%s</em></small>',
						'&amp;copy; %YEAR% by %SITE_NAME%. All Rights Reserved.',
						'&amp;copy; %YEAR% by &lt;a href="%SITE_URL%"&gt;%SITE_NAME%&lt;/a&gt;. All Rights Reserved.',
						__( '(Supports limited HTML)', 'pen' )
					)
				)
			)
		);
		pen_control_text( $wp_customize, $setting_id, $section, 'refresh', $label, $description );

	}
}

if ( ! function_exists( 'pen_customize_contact' ) ) {
	/**
	 * Adds contact details options.
	 *
	 * @param WP_Customize_Manager $wp_customize Theme Customizer object.
	 *
	 * @since Pen 1.0.0
	 * @return void
	 */
	function pen_customize_contact( &$wp_customize ) {

		$preset = 'preset_1';

		$panel = 'pen_panel_contact';
		$wp_customize->add_panel(
			$panel,
			array(
				'title'    => __( 'Contact information', 'pen' ),
				'priority' => 7,
			)
		);

		$section = 'pen_section_twitter';
		$wp_customize->add_section(
			$section,
			array(
				'title' => __( 'Twitter', 'pen' ),
				'panel' => $panel,
			)
		);

		$setting_id  = "pen_twitter[$preset]";
		$label       = __( 'Twitter URL', 'pen' );
		$description = 'https://twitter.com/example';
		pen_control_text( $wp_customize, $setting_id, $section, 'refresh', $label, $description );

		$setting_id = "pen_twitter_header_display[$preset]";
		$label      = __( 'Twitter link in the header', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_twitter_footer_display[$preset]";
		$label      = __( 'Twitter link in the footer', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$section = 'pen_section_facebook';
		$wp_customize->add_section(
			$section,
			array(
				'title' => __( 'Facebook', 'pen' ),
				'panel' => $panel,
			)
		);

		$setting_id  = "pen_facebook[$preset]";
		$label       = __( 'Facebook URL', 'pen' );
		$description = 'https://facebook.com/example';
		pen_control_text( $wp_customize, $setting_id, $section, 'refresh', $label, $description );

		$setting_id = "pen_facebook_header_display[$preset]";
		$label      = __( 'Facebook link in the header', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_facebook_footer_display[$preset]";
		$label      = __( 'Facebook link in the footer', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$section = 'pen_section_instagram';
		$wp_customize->add_section(
			$section,
			array(
				'title' => __( 'Instagram', 'pen' ),
				'panel' => $panel,
			)
		);

		$setting_id  = "pen_instagram[$preset]";
		$label       = __( 'Instagram URL', 'pen' );
		$description = 'https://instagram.com/example';
		pen_control_text( $wp_customize, $setting_id, $section, 'refresh', $label, $description );

		$setting_id = "pen_instagram_header_display[$preset]";
		$label      = __( 'Instagram link in the header', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_instagram_footer_display[$preset]";
		$label      = __( 'Instagram link in the footer', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$section = 'pen_section_vk';
		$wp_customize->add_section(
			$section,
			array(
				'title' => __( 'VK', 'pen' ),
				'panel' => $panel,
			)
		);

		$setting_id  = "pen_vk[$preset]";
		$label       = __( 'VK URL', 'pen' );
		$description = 'https://vk.com/example';
		pen_control_text( $wp_customize, $setting_id, $section, 'refresh', $label, $description );

		$setting_id = "pen_vk_header_display[$preset]";
		$label      = __( 'VK link in the header', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_vk_footer_display[$preset]";
		$label      = __( 'VK link in the footer', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$section = 'pen_section_pinterest';
		$wp_customize->add_section(
			$section,
			array(
				'title' => __( 'Pinterest', 'pen' ),
				'panel' => $panel,
			)
		);

		$setting_id  = "pen_pinterest[$preset]";
		$label       = __( 'Pinterest URL', 'pen' );
		$description = 'https://pinterest.com/example';
		pen_control_text( $wp_customize, $setting_id, $section, 'refresh', $label, $description );

		$setting_id = "pen_pinterest_header_display[$preset]";
		$label      = __( 'Pinterest link in the header', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_pinterest_footer_display[$preset]";
		$label      = __( 'Pinterest link in the footer', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$section = 'pen_section_linkedin';
		$wp_customize->add_section(
			$section,
			array(
				'title' => __( 'LinkedIn', 'pen' ),
				'panel' => $panel,
			)
		);

		$setting_id  = "pen_linkedin[$preset]";
		$label       = __( 'LinkedIn URL', 'pen' );
		$description = 'https://linkedin.com/example';
		pen_control_text( $wp_customize, $setting_id, $section, 'refresh', $label, $description );

		$setting_id = "pen_linkedin_header_display[$preset]";
		$label      = __( 'LinkedIn link in the header', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_linkedin_footer_display[$preset]";
		$label      = __( 'LinkedIn link in the footer', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$section = 'pen_section_flickr';
		$wp_customize->add_section(
			$section,
			array(
				'title' => __( 'Flickr', 'pen' ),
				'panel' => 'pen_panel_contact',
			)
		);

		$setting_id  = "pen_flickr[$preset]";
		$label       = __( 'Flickr URL', 'pen' );
		$description = 'https://flickr.com/example';
		pen_control_text( $wp_customize, $setting_id, $section, 'refresh', $label, $description );

		$setting_id = "pen_flickr_header_display[$preset]";
		$label      = __( 'Flickr link in the header', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_flickr_footer_display[$preset]";
		$label      = __( 'Flickr link in the footer', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$section = 'pen_section_bitbucket';
		$wp_customize->add_section(
			$section,
			array(
				'title' => __( 'BitBucket', 'pen' ),
				'panel' => 'pen_panel_contact',
			)
		);

		$setting_id  = "pen_bitbucket[$preset]";
		$label       = __( 'BitBucket URL', 'pen' );
		$description = 'https://bitbucket.com/example';
		pen_control_text( $wp_customize, $setting_id, $section, 'refresh', $label, $description );

		$setting_id = "pen_bitbucket_header_display[$preset]";
		$label      = __( 'BitBucket link in the header', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_bitbucket_footer_display[$preset]";
		$label      = __( 'BitBucket link in the footer', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$section = 'pen_section_github';
		$wp_customize->add_section(
			$section,
			array(
				'title' => __( 'Github', 'pen' ),
				'panel' => 'pen_panel_contact',
			)
		);

		$setting_id  = "pen_github[$preset]";
		$label       = __( 'Github URL', 'pen' );
		$description = 'https://github.com/example';
		pen_control_text( $wp_customize, $setting_id, $section, 'refresh', $label, $description );

		$setting_id = "pen_github_header_display[$preset]";
		$label      = __( 'Github link in the header', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_github_footer_display[$preset]";
		$label      = __( 'Github link in the footer', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$section = 'pen_section_slack';
		$wp_customize->add_section(
			$section,
			array(
				'title' => __( 'Slack', 'pen' ),
				'panel' => $panel,
			)
		);

		$setting_id  = "pen_slack[$preset]";
		$label       = __( 'Slack URL', 'pen' );
		$description = 'https://slack.com/example';
		pen_control_text( $wp_customize, $setting_id, $section, 'refresh', $label, $description );

		$setting_id = "pen_slack_header_display[$preset]";
		$label      = __( 'Slack link in the header', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_slack_footer_display[$preset]";
		$label      = __( 'Slack link in the footer', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$section = 'pen_section_telegram';
		$wp_customize->add_section(
			$section,
			array(
				'title' => __( 'Telegram', 'pen' ),
				'panel' => $panel,
			)
		);

		$setting_id  = "pen_telegram[$preset]";
		$label       = __( 'Telegram URL', 'pen' );
		$description = 'https://t.me/example';
		pen_control_text( $wp_customize, $setting_id, $section, 'refresh', $label, $description );

		$setting_id = "pen_telegram_header_display[$preset]";
		$label      = __( 'Telegram link in the header', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_telegram_footer_display[$preset]";
		$label      = __( 'Telegram link in the footer', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$section = 'pen_section_whatsapp';
		$wp_customize->add_section(
			$section,
			array(
				'title' => __( 'WhatsApp', 'pen' ),
				'panel' => $panel,
			)
		);

		$setting_id  = "pen_whatsapp[$preset]";
		$label       = __( 'WhatsApp Link', 'pen' );
		$description = 'whatsapp://send?text=Hi!&phone=+123456789';
		pen_control_text( $wp_customize, $setting_id, $section, 'refresh', $label, $description );

		$setting_id = "pen_whatsapp_header_display[$preset]";
		$label      = __( 'WhatsApp link in the header', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_whatsapp_footer_display[$preset]";
		$label      = __( 'WhatsApp link in the footer', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$section = 'pen_section_skype';
		$wp_customize->add_section(
			$section,
			array(
				'title' => __( 'Skype', 'pen' ),
				'panel' => $panel,
			)
		);

		$setting_id  = "pen_skype[$preset]";
		$label       = __( 'Skype Link', 'pen' );
		$description = 'skype:username?call';
		pen_control_text( $wp_customize, $setting_id, $section, 'refresh', $label, $description );

		$setting_id = "pen_skype_header_display[$preset]";
		$label      = __( 'Skype link in the header', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_skype_footer_display[$preset]";
		$label      = __( 'Skype link in the footer', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$section = 'pen_section_phone';
		$wp_customize->add_section(
			$section,
			array(
				'title' => __( 'Phone', 'pen' ),
				'panel' => $panel,
			)
		);

		$setting_id = "pen_phone[$preset]";
		$label      = __( 'Phone number', 'pen' );
		pen_control_text( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_phone_header_display[$preset]";
		$label      = __( 'Phone number in the header', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_phone_header_animation_reveal[$preset]";
		$label      = __( 'Header phone number animation', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', pen_animations(), $label );

		$setting_id = "pen_phone_footer_display[$preset]";
		$label      = __( 'Phone number in the footer', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_phone_footer_animation_reveal[$preset]";
		$label      = __( 'Footer phone number animation', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', pen_animations(), $label );

		$section = 'pen_section_rss';
		$wp_customize->add_section(
			$section,
			array(
				'title' => __( 'Feed', 'pen' ),
				'panel' => $panel,
			)
		);

		$setting_id  = "pen_rss[$preset]";
		$label       = __( 'Feed URL', 'pen' );
		$description = 'http://example.com/rss.xml';
		pen_control_text( $wp_customize, $setting_id, $section, 'refresh', $label, $description );

		$setting_id = "pen_rss_header_display[$preset]";
		$label      = __( 'RSS link in the header', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_rss_footer_display[$preset]";
		$label      = __( 'RSS link in the footer', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$section = 'pen_section_email';
		$wp_customize->add_section(
			$section,
			array(
				'title' => __( 'E-mail', 'pen' ),
				'panel' => $panel,
			)
		);

		$setting_id  = "pen_email[$preset]";
		$label       = __( 'Your e-mail or URL to a "Contact us" page', 'pen' );
		$description = __( 'mail@example.com or http://example.com/contact-us', 'pen' );
		pen_control_text( $wp_customize, $setting_id, $section, 'refresh', $label, $description );

		$setting_id = "pen_email_header_display[$preset]";
		$label      = __( 'E-mail link in the header', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_email_footer_display[$preset]";
		$label      = __( 'E-mail link in the footer', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

	}
}

if ( ! function_exists( 'pen_customize_background' ) ) {
	/**
	 * Adds the background image options.
	 *
	 * @param WP_Customize_Manager $wp_customize Theme Customizer object.
	 *
	 * @since Pen 1.0.0
	 * @return void
	 */
	function pen_customize_background( &$wp_customize ) {

		$preset = 'preset_1';

		$panel = 'p_panel_background_images';
		$wp_customize->add_panel(
			$panel,
			array(
				'title'    => __( 'Background images', 'pen' ),
				'priority' => 10,
			)
		);

		$section = 'background_image';

		$wp_customize->get_section( $section )->title     = __( 'Site', 'pen' );
		$wp_customize->get_section( $section )->priority  = 1;
		$wp_customize->get_section( $section )->transport = 'refresh';
		$wp_customize->get_section( $section )->panel     = $panel;

		$setting_id  = "pen_background_lights_dim[$preset]";
		$label       = __( 'Dim the lights', 'pen' );
		$description = __( '(This feature is a part of the "Pen" theme.)', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label, $description );

		$section = 'header_image';

		$wp_customize->get_section( $section )->title     = __( 'Header', 'pen' );
		$wp_customize->get_section( $section )->priority  = 2;
		$wp_customize->get_section( $section )->transport = 'refresh';
		$wp_customize->get_section( $section )->panel     = $panel;

		$section = 'pen_section_background_image_navigation';
		$wp_customize->add_section(
			$section,
			array(
				'title'    => __( 'Navigation', 'pen' ),
				'priority' => 3,
				'panel'    => $panel,
			)
		);

		$setting_id = "pen_background_image_navigation[$preset]";
		$label      = __( 'Navigation', 'pen' );
		pen_control_image( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_background_image_navigation_submenu[$preset]";
		$label      = __( 'Navigation (Sub-menus)', 'pen' );
		pen_control_image( $wp_customize, $setting_id, $section, 'refresh', $label );

		$section = 'pen_section_background_image_search';
		$wp_customize->add_section(
			$section,
			array(
				'title'       => __( 'Search Bar', 'pen' ),
				'priority'    => 4,
				'description' => __( 'Please make sure you have the search box added to the top of the content area through Customize &rarr; Search so you can see your background image.', 'pen' ),
				'panel'       => $panel,
			)
		);

		$setting_id = "pen_background_image_search[$preset]";
		$label      = __( 'Search Bar', 'pen' );
		pen_control_image( $wp_customize, $setting_id, $section, 'refresh', $label );

		$section = 'pen_section_background_image_content_title';
		$wp_customize->add_section(
			$section,
			array(
				'title'    => __( 'Content', 'pen' ),
				'priority' => 5,
				'panel'    => $panel,
			)
		);

		$setting_id = "pen_background_image_content_title[$preset]";
		$label      = __( 'Content Title', 'pen' );
		pen_control_image( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_background_image_content_title_dynamic[$preset]";
		$label      = __( 'Use featured image as background', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$section = 'pen_section_background_image_bottom';
		$wp_customize->add_section(
			$section,
			array(
				'title'    => __( 'Bottom', 'pen' ),
				'priority' => 6,
				'panel'    => $panel,
			)
		);

		$setting_id = "pen_background_image_bottom[$preset]";
		$label      = __( 'Bottom', 'pen' );
		pen_control_image( $wp_customize, $setting_id, $section, 'refresh', $label );

		$section = 'pen_section_background_image_footer';
		$wp_customize->add_section(
			$section,
			array(
				'title'    => __( 'Footer', 'pen' ),
				'priority' => 7,
				'panel'    => $panel,
			)
		);

		$setting_id = "pen_background_image_footer[$preset]";
		$label      = __( 'Footer', 'pen' );
		pen_control_image( $wp_customize, $setting_id, $section, 'refresh', $label );

	}
}

if ( ! function_exists( 'pen_customize_logo' ) ) {
	/**
	 * Moves logo options to "Site Identity".
	 *
	 * @param WP_Customize_Manager $wp_customize Theme Customizer object.
	 *
	 * @since Pen 1.0.8
	 * @return void
	 */
	function pen_customize_logo( &$wp_customize ) {

		$preset = 'preset_1';

		$section = 'title_tagline';

		$setting_id = "pen_header_logo_display[$preset]";
		$label      = __( 'Display the site logo', 'pen' );
		pen_control_checkbox( $wp_customize, $setting_id, $section, 'refresh', $label );

		$setting_id = "pen_header_logo_animation_reveal[$preset]";
		$label      = __( 'Logo animation', 'pen' );
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', pen_animations(), $label );

		$setting_id = "pen_header_logo_size[$preset]";
		$label      = __( 'Logo size', 'pen' );
		$choices    = array(
			'none'   => __( 'None', 'pen' ),
			'height' => __( 'Limit height', 'pen' ),
			'width'  => __( 'Limit width', 'pen' ),
		);
		pen_control_select( $wp_customize, $setting_id, $section, 'refresh', $choices, $label );

	}
}

if ( ! function_exists( 'pen_control_color' ) ) {
	/**
	 * Color control.
	 *
	 * @param WP_Customize_Manager $wp_customize Theme Customizer object.
	 * @param string               $setting_id   The setting ID.
	 * @param string               $section      Field section.
	 * @param string               $transport    Transport type.
	 * @param string               $label        Field label.
	 * @param string               $description  Field description.
	 *
	 * @since Pen 1.0.8
	 * @return void
	 */
	function pen_control_color( &$wp_customize, $setting_id, $section, $transport, $label, $description = '' ) {
		$wp_customize->add_setting(
			$setting_id,
			array(
				'default'           => pen_option_default( $setting_id ),
				'sanitize_callback' => pen_option_sanitize( $setting_id ),
				'transport'         => $transport,
			)
		);
		$wp_customize->add_control(
			new WP_Customize_Color_Control(
				$wp_customize,
				$setting_id,
				array(
					'label'       => $label,
					'description' => $description,
					'section'     => $section,
					'settings'    => $setting_id,
				)
			)
		);
	}
}

if ( ! function_exists( 'pen_control_image' ) ) {
	/**
	 * Image control.
	 *
	 * @param WP_Customize_Manager $wp_customize Theme Customizer object.
	 * @param string               $setting_id   The setting ID.
	 * @param string               $section      Field section.
	 * @param string               $transport    Transport type.
	 * @param string               $label        Field label.
	 * @param string               $description  Field description.
	 *
	 * @since Pen 1.0.8
	 * @return void
	 */
	function pen_control_image( &$wp_customize, $setting_id, $section, $transport, $label, $description = '' ) {
		$wp_customize->add_setting(
			$setting_id,
			array(
				'default'           => pen_option_default( $setting_id ),
				'sanitize_callback' => pen_option_sanitize( $setting_id ),
				'transport'         => $transport,
			)
		);
		$wp_customize->add_control(
			new WP_Customize_Image_Control(
				$wp_customize,
				$setting_id,
				array(
					'label'       => $label,
					'description' => $description,
					'section'     => $section,
					'settings'    => $setting_id,
				)
			)
		);
	}
}

if ( ! function_exists( 'pen_control_checkbox' ) ) {
	/**
	 * Checkbox control.
	 *
	 * @param WP_Customize_Manager $wp_customize Theme Customizer object.
	 * @param string               $setting_id   The setting ID.
	 * @param string               $section      Field section.
	 * @param string               $transport    Transport type.
	 * @param string               $label        Field label.
	 * @param string               $description  Field description.
	 *
	 * @since Pen 1.0.8
	 * @return void
	 */
	function pen_control_checkbox( &$wp_customize, $setting_id, $section, $transport, $label, $description = '' ) {
		$wp_customize->add_setting(
			$setting_id,
			array(
				'default'           => pen_option_default( $setting_id ),
				'sanitize_callback' => pen_option_sanitize( $setting_id ),
				'transport'         => $transport,
			)
		);
		$wp_customize->add_control(
			$setting_id,
			array(
				'label'       => $label,
				'description' => $description,
				'section'     => $section,
				'type'        => 'checkbox',
			)
		);
	}
}

if ( ! function_exists( 'pen_control_radio' ) ) {
	/**
	 * Radio button control.
	 *
	 * @param WP_Customize_Manager $wp_customize Theme Customizer object.
	 * @param string               $setting_id   The setting ID.
	 * @param string               $section      Field section.
	 * @param string               $transport    Transport type.
	 * @param array                $choices      Choices.
	 * @param string               $label        Field label.
	 * @param string               $description  Field description.
	 *
	 * @since Pen 1.0.8
	 * @return void
	 */
	function pen_control_radio( &$wp_customize, $setting_id, $section, $transport, $choices, $label, $description = '' ) {
		$wp_customize->add_setting(
			$setting_id,
			array(
				'default'           => pen_option_default( $setting_id ),
				'sanitize_callback' => pen_option_sanitize( $setting_id ),
				'transport'         => $transport,
			)
		);
		$wp_customize->add_control(
			$setting_id,
			array(
				'label'       => $label,
				'description' => $description,
				'section'     => $section,
				'type'        => 'radio',
				'choices'     => $choices,
			)
		);
	}
}

if ( ! function_exists( 'pen_control_select' ) ) {
	/**
	 * Select control.
	 *
	 * @param WP_Customize_Manager $wp_customize Theme Customizer object.
	 * @param string               $setting_id   The setting ID.
	 * @param string               $section      Field section.
	 * @param string               $transport    Transport type.
	 * @param array                $choices      Choices.
	 * @param string               $label        Field label.
	 * @param string               $description  Field description.
	 *
	 * @since Pen 1.0.8
	 * @return void
	 */
	function pen_control_select( &$wp_customize, $setting_id, $section, $transport, $choices, $label, $description = '' ) {
		$wp_customize->add_setting(
			$setting_id,
			array(
				'default'           => pen_option_default( $setting_id ),
				'sanitize_callback' => pen_option_sanitize( $setting_id ),
				'transport'         => $transport,
			)
		);
		$wp_customize->add_control(
			$setting_id,
			array(
				'label'       => $label,
				'description' => $description,
				'section'     => $section,
				'type'        => 'select',
				'choices'     => $choices,
			)
		);
	}
}

if ( ! function_exists( 'pen_control_text' ) ) {
	/**
	 * Text control.
	 *
	 * @param WP_Customize_Manager $wp_customize Theme Customizer object.
	 * @param string               $setting_id   The setting ID.
	 * @param string               $section      Field section.
	 * @param string               $transport    Transport type.
	 * @param string               $label        Field label.
	 * @param string               $description  Field description.
	 *
	 * @since Pen 1.0.8
	 * @return void
	 */
	function pen_control_text( &$wp_customize, $setting_id, $section, $transport, $label, $description = '' ) {
		$wp_customize->add_setting(
			$setting_id,
			array(
				'default'           => pen_option_default( $setting_id ),
				'sanitize_callback' => pen_option_sanitize( $setting_id ),
				'transport'         => $transport,
			)
		);
		$wp_customize->add_control(
			$setting_id,
			array(
				'label'       => $label,
				'description' => $description,
				'section'     => $section,
				'type'        => 'text',
			)
		);
	}
}

if ( ! function_exists( 'pen_inline_css_general' ) ) {
	/**
	 * Adds inline CSS.
	 *
	 * @since Pen 1.0.0
	 * @return void
	 */
	function pen_inline_css_general() {
		$css                = '';
		$preset_color       = esc_html( pen_preset_get( 'color' ) );
		$preset_font        = esc_html( pen_preset_get( 'font_family' ) );
		$background         = esc_html( pen_option_get( 'color_site_background' ) );
		$background_default = pen_option_default( 'color_site_background' );
		$color              = esc_html( pen_option_get( 'color_text' ) );
		$color_default      = pen_option_default( 'color_text' );
		$site_font          = esc_html( pen_option_get( 'font_family_site' ) );

		if ( 'preset_1' !== $preset_color || $background !== $background_default || 'default' !== $site_font || $color !== $color_default ) {
			// background overrides any linear-gradient in the CSS files
			// and background-color for any background image.
			$css .= 'body {
				background-color:' . $background . ';
				background:' . $background . ';';
			if ( 'preset_1' !== $preset_color || $color !== $color_default ) {
				$css .= 'color:' . $color . ';';
			}
			if ( 'default' !== $site_font ) {
				$css .= 'font-family:"' . ltrim( $site_font, 'g:' ) . '", Arial, Helvetica, Sans-serif;';
			}
			$css .= '}';
		}

		$headings_font = esc_html( pen_option_get( 'font_family_headings' ) );
		if ( 'default' !== $headings_font ) {
			$css .= 'h1,h2,h3,h4,h5 {
				font-family:"' . ltrim( $headings_font, 'g:' ) . '", Arial, Helvetica, Sans-serif;
			}';
		}

		if ( pen_option_get( 'color_site_shadow_display' ) ) {
			$shadow_color         = esc_html( pen_option_get( 'color_shadow' ) );
			$shadow_color_default = pen_option_default( 'color_shadow' );
			if ( 'preset_1' !== $preset_color || $shadow_color !== $shadow_color_default ) {
				$shadow_color = new \Pen\Color( $shadow_color );
				$shadow_color = $shadow_color->getRgb();
				$shadow_color = 'rgba(' . implode( ',', $shadow_color ) . ',0.5)';

				$css .= 'body.pen_drop_shadow #pen_header .pen_header_inner,
				body.pen_drop_shadow #pen_search,
				body.pen_drop_shadow #pen_bottom.pen_not_transparent,
				body.pen_drop_shadow #pen_footer.pen_not_transparent {
					box-shadow:0 0 20px ' . $shadow_color . ';
				}
				body.pen_drop_shadow #comments,
				body.pen_drop_shadow #main .page-content,
				body.pen_drop_shadow #main .pen_article_wrapper > article,
				body.pen_drop_shadow.pen_list_masonry #pen_masonry article,
				body.pen_drop_shadow.pen_list_plain #pen_pager,
				body.pen_drop_shadow #main .pen_customize_overview.pen_off_screen {
					box-shadow:0 5px 10px ' . $shadow_color . ', 0 0 5px ' . $shadow_color . ';
				}';
			}
		}

		$link_color               = esc_html( pen_option_get( 'color_link' ) );
		$link_color_default       = pen_option_default( 'color_link' );
		$link_color_hover         = esc_html( pen_option_get( 'color_link_hover' ) );
		$link_color_hover_default = pen_option_default( 'color_link_hover' );
		if ( 'preset_1' !== $preset_color || $link_color !== $link_color_default ) {
			$css .= 'a {
				color:' . $link_color . ';
			}';
		}
		if ( 'preset_1' !== $preset_color || $link_color_hover !== $link_color_hover_default ) {
			$css .= 'a:focus,
			a:hover,
			a:active {
				color:' . $link_color_hover . ';
			}';
		}

		$form_font = esc_html( pen_option_get( 'font_family_forms' ) );
		if ( 'default' !== $form_font ) {
			$css .= 'input[type="date"],
			input[type="email"],
			input[type="file"],
			input[type="number"],
			input[type="tel"],
			input[type="time"],
			input[type="text"],
			input[type="url"],
			legend,
			option,
			select,
			textarea,
			#pen_header .pen_header_main .search-form .search-field,
			#pen_search .search-form .search-field {
				font-family:"' . ltrim( $form_font, 'g:' ) . '", Arial, Helvetica, Sans-serif;
				font-weight:normal;
			}';
		}
		$field_background_primary           = esc_html( pen_option_get( 'color_bottom_field_background_primary' ) );
		$field_background_primary_default   = pen_option_default( 'color_bottom_field_background_primary' );
		$field_background_secondary         = esc_html( pen_option_get( 'color_bottom_field_background_secondary' ) );
		$field_background_secondary_default = pen_option_default( 'color_bottom_field_background_secondary' );
		$field_text                         = esc_html( pen_option_get( 'color_bottom_field_text' ) );
		$field_text_default                 = pen_option_default( 'color_bottom_field_text' );

		if ( 'preset_1' !== $preset_color || $field_background_primary !== $field_background_primary_default || $field_background_secondary !== $field_background_secondary_default || $field_text !== $field_text_default ) {
			$css .= '#pen_bottom input[type="date"],
			#pen_bottom input[type="email"],
			#pen_bottom input[type="file"],
			#pen_bottom input[type="number"],
			#pen_bottom input[type="tel"],
			#pen_bottom input[type="time"],
			#pen_bottom input[type="text"],
			#pen_bottom input[type="url"],
			#pen_bottom option,
			#pen_bottom select,
			#pen_bottom textarea {
				background:' . $field_background_secondary . ';';
			if ( $field_background_primary !== $field_background_secondary ) {
				$css .= 'background:-ms-linear-gradient(top,' . $field_background_primary . ' 0%,' . $field_background_secondary . ' 100%);
				background:linear-gradient(to bottom,' . $field_background_primary . ' 0%,' . $field_background_secondary . ' 100%);';
			}
			if ( 'preset_1' !== $preset_color || $field_text !== $field_text_default ) {
				$css .= 'color:' . $field_text . ';';
			}
			$css .= '}';
		}

		$button_color_text              = esc_html( pen_option_get( 'color_button_text' ) );
		$button_color_text_default      = pen_option_default( 'color_button_text' );
		$button_color_primary           = esc_html( pen_option_get( 'color_button_background_primary' ) );
		$button_color_primary_default   = pen_option_default( 'color_button_background_primary' );
		$button_color_secondary         = esc_html( pen_option_get( 'color_button_background_secondary' ) );
		$button_color_secondary_default = pen_option_default( 'color_button_background_secondary' );
		$button_color_border            = esc_html( pen_option_get( 'color_button_border' ) );
		$button_color_border_default    = pen_option_default( 'color_button_border' );
		$button_font                    = esc_html( pen_option_get( 'font_family_buttons' ) );

		if ( 'preset_1' !== $preset_color || $button_color_text !== $button_color_text_default || $button_color_primary !== $button_color_primary_default || $button_color_secondary !== $button_color_secondary_default || $button_color_border !== $button_color_border_default || 'default' !== $button_font ) {
			$css .= '#primary .pen_button,
				#primary .comments-link a,
				#primary a.post-edit-link,
				#primary .comment-list a.comment-edit-link,
				#primary .comment-list .reply a,
				#primary input[type="submit"],
				#primary .entry-footer .tags-links a,
				#page .hpcf_button_submit,
				#cancel-comment-reply-link,
				#content .page-links a,
				#content .comment-navigation a,
				#content .posts-navigation a,
				#content .post-navigation a,
				#content .wp-pagenavi a,
				#content .wp-pagenavi span {';
			if ( 'preset_1' !== $preset_color || $button_color_primary !== $button_color_primary_default || $button_color_secondary !== $button_color_secondary_default ) {
				$css .= 'background-color:' . $button_color_secondary . ';
				background:' . $button_color_secondary . ';';
				if ( $button_color_primary !== $button_color_secondary ) {
					$css .= 'background:-ms-linear-gradient(top,' . $button_color_primary . ' 0%,' . $button_color_secondary . ' 100%);
					background:linear-gradient(to bottom,' . $button_color_primary . ' 0%,' . $button_color_secondary . ' 100%);';
				}
			}
			if ( 'preset_1' !== $preset_color || $button_color_text !== $button_color_text_default ) {
				$css .= 'color:' . $button_color_text . ' !important;';
			}
			if ( 'preset_1' !== $preset_color || $button_color_border !== $button_color_border_default ) {
				$css .= 'border:1px solid' . $button_color_border . ' !important;';
			}
			if ( 'default' !== $button_font ) {
				$css .= 'font-family:"' . ltrim( $button_font, 'g:' ) . '", Arial, Helvetica, Sans-serif;
					font-weight:normal;';
			}
			$css .= '}';
			if ( 'preset_1' !== $preset_color || $button_color_primary !== $button_color_primary_default || $button_color_secondary !== $button_color_secondary_default ) {
				$css .= '#primary .pen_button:active,
				#primary .comments-link a:active,
				#primary a.post-edit-link:active,
				#primary .comment-list a.comment-edit-link:active,
				#primary .comment-list .reply a:active,
				#primary input[type="submit"]:active,
				#primary .entry-footer .tags-links a:active,
				#cancel-comment-reply-link:active,
				#content .entry-content input[type="submit"]:active,
				#content .page-links a:active,
				#content .comment-navigation a:active,
				#content .posts-navigation a:active,
				#content .post-navigation a:active,
				#content .wp-pagenavi span,
				#content .wp-pagenavi .current {
					background:' . $button_color_secondary . ';
				}';
			}
			if ( 'default' !== $button_font ) {
				$css .= '#pen_header .pen_header_main .search-form .search-submit {
						font-family:"' . ltrim( $button_font, 'g:' ) . '", Arial, Helvetica, Sans-serif;
						font-weight:normal;
					}';
			}
		}

		if ( pen_sidebar_check( 'sidebar-top' ) ) {

			$widget_title_top_font              = esc_html( pen_option_get( 'font_family_widget_title_top' ) );
			$widget_title_top_font_size         = esc_html( pen_option_get( 'font_size_widget_title_top' ) );
			$widget_title_top_font_size_default = pen_option_default( 'font_size_widget_title_top' );

			if ( 'default' !== $widget_title_top_font || $widget_title_top_font_size !== $widget_title_top_font_size_default ) {
				$css .= '#pen_top .widget-title {';
				if ( 'default' !== $widget_title_top_font ) {
					$css .= 'font-family:"' . ltrim( $widget_title_top_font, 'g:' ) . '", Arial, Helvetica, Sans-serif;
				font-weight:normal;';
				}
				if ( $widget_title_top_font_size !== $widget_title_top_font_size_default ) {
					$css .= 'font-size:' . $widget_title_top_font_size . ';';
				}
				$css .= '}';
			}
		}

		if ( pen_sidebar_check( 'sidebar-left' ) ) {

			$widget_title_left_font              = esc_html( pen_option_get( 'font_family_widget_title_left' ) );
			$widget_title_left_font_size         = esc_html( pen_option_get( 'font_size_widget_title_left' ) );
			$widget_title_left_font_size_default = pen_option_default( 'font_size_widget_title_left' );

			if ( 'default' !== $widget_title_left_font || $widget_title_left_font_size !== $widget_title_left_font_size_default ) {
				$css .= '#pen_left .widget-title {';
				if ( 'default' !== $widget_title_left_font ) {
					$css .= 'font-family:"' . ltrim( $widget_title_left_font, 'g:' ) . '", Arial, Helvetica, Sans-serif;
				font-weight:normal;';
				}
				if ( $widget_title_left_font_size !== $widget_title_left_font_size_default ) {
					$css .= 'font-size:' . $widget_title_left_font_size . ';';
				}
				$css .= '}';
			}
		}

		if ( pen_sidebar_check( 'sidebar-right' ) ) {

			$widget_title_right_font              = esc_html( pen_option_get( 'font_family_widget_title_right' ) );
			$widget_title_right_font_size         = esc_html( pen_option_get( 'font_size_widget_title_right' ) );
			$widget_title_right_font_size_default = pen_option_default( 'font_size_widget_title_right' );

			if ( 'default' !== $widget_title_right_font || $widget_title_right_font_size !== $widget_title_right_font_size_default ) {
				$css .= '#pen_right .widget-title {';
				if ( 'default' !== $widget_title_right_font ) {
					$css .= 'font-family:"' . ltrim( $widget_title_right_font, 'g:' ) . '", Arial, Helvetica, Sans-serif;
				font-weight:normal;';
				}
				if ( $widget_title_right_font_size !== $widget_title_right_font_size_default ) {
					$css .= 'font-size:' . $widget_title_right_font_size . ';';
				}
				$css .= '}';
			}
		}

		if ( pen_sidebar_check( 'sidebar-bottom' ) ) {

			$widget_title_bottom_font              = esc_html( pen_option_get( 'font_family_widget_title_bottom' ) );
			$widget_title_bottom_font_size         = esc_html( pen_option_get( 'font_size_widget_title_bottom' ) );
			$widget_title_bottom_font_size_default = pen_option_default( 'font_size_widget_title_bottom' );

			if ( 'default' !== $widget_title_bottom_font || $widget_title_bottom_font_size !== $widget_title_bottom_font_size_default ) {
				$css .= '#pen_bottom .widget-title {';
				if ( 'default' !== $widget_title_bottom_font ) {
					$css .= 'font-family:"' . ltrim( $widget_title_bottom_font, 'g:' ) . '", Arial, Helvetica, Sans-serif;
				font-weight:normal;';
				}
				if ( $widget_title_bottom_font_size !== $widget_title_bottom_font_size_default ) {
					$css .= 'font-size:' . $widget_title_bottom_font_size . ';';
				}
				$css .= '}';
			}
		}

		$css = pen_compress_css( $css );

		wp_add_inline_style( 'pen-css', $css );
	}
	add_action( 'wp_enqueue_scripts', 'pen_inline_css_general' );
}

if ( ! function_exists( 'pen_inline_css_header' ) ) {
	/**
	 * Adds inline CSS for the header.
	 *
	 * @since Pen 1.0.0
	 * @return void
	 */
	function pen_inline_css_header() {
		$css                      = '';
		$preset_color             = esc_html( pen_preset_get( 'color' ) );
		$background_left          = esc_html( pen_option_get( 'color_header_background_primary' ) );
		$background_left_default  = pen_option_default( 'color_header_background_primary' );
		$background_right         = esc_html( pen_option_get( 'color_header_background_secondary' ) );
		$background_right_default = pen_option_default( 'color_header_background_secondary' );
		$header_image             = get_header_image();

		$angle         = esc_html( pen_option_get( 'color_header_background_angle' ) );
		$angle_default = pen_option_default( 'color_header_background_angle' );
		if ( 'to right' === $angle ) {
			$angle_ie = 'left';
		} elseif ( 'to bottom' === $angle ) {
			$angle_ie = 'top';
		} elseif ( false !== strpos( $angle, 'deg' ) ) {
			$angle_ie = ( str_replace( 'deg', '', $angle ) + 200 ) . 'deg';
		}

		if ( 'preset_1' !== $preset_color || $background_left !== $background_left_default || $background_right !== $background_right_default || $header_image || $angle !== $angle_default ) {
			$css .= '#pen_header .pen_header_inner {
				background-color:' . $background_left . ';
				background:' . $background_left . ';';
			if ( $background_left !== $background_right ) {
				$css .= 'background:-ms-linear-gradient(' . $angle_ie . ',' . $background_left . ' 0%,' . $background_right . ' 100%);
				background:linear-gradient(' . $angle . ',' . $background_left . ' 0%,' . $background_right . ' 100%);';
			}
			if ( $header_image ) {
				$css .= "background-image:url('" . $header_image . "');
				background-repeat:no-repeat;
				background-position:top center;
				background-size:cover;";
			}
			$css .= '}';
		}

		$text_color         = esc_html( pen_option_get( 'color_header_text' ) );
		$text_color_default = pen_option_default( 'color_header_text' );
		if ( ! pen_option_get( 'color_header_text_shadow_display' ) ) {
			$text_shadow = 'none';
		} else {
			$text_shadow = '1px 1px 1px ' . esc_html( pen_option_get( 'color_header_text_shadow' ) );
		}
		if ( 'preset_1' !== $preset_color || $text_color !== $text_color_default || '1px 1px 1px ' . pen_option_default( 'color_header_text_shadow' ) !== $text_shadow ) {
			$css .= '#pen_header .pen_header_main {';
			if ( 'preset_1' !== $preset_color || $text_color !== $text_color_default ) {
				$css .= 'color:' . $text_color . ';';
			}
			if ( 'preset_1' !== $preset_color || '1px 1px 1px ' . pen_option_default( 'color_header_text_shadow' ) !== $text_shadow ) {
				$css .= 'text-shadow:' . $text_shadow . ';';
			}
			$css .= '}';
		}

		$link_color               = esc_html( pen_option_get( 'color_header_link' ) );
		$link_color_default       = pen_option_default( 'color_header_link' );
		$link_color_hover         = esc_html( pen_option_get( 'color_header_link_hover' ) );
		$link_color_hover_default = pen_option_default( 'color_header_link_hover' );
		if ( 'preset_1' !== $preset_color || $link_color !== $link_color_default ) {
			$css .= '#pen_header .pen_header_main a {
				color:' . $link_color . ';
			}';
		}
		if ( 'preset_1' !== $preset_color || $link_color_hover !== $link_color_hover_default ) {
			$css .= '#pen_header .pen_header_main a:focus,
			#pen_header .pen_header_main a:hover,
			#pen_header .pen_header_main a:active,
			#pen_header .pen_social_networks a:focus,
			#pen_header .pen_social_networks a:hover,
			#pen_header .pen_social_networks a:active {
				color:' . $link_color_hover . ' !important;
			}';
		}

		$sitetitle_color               = esc_html( pen_option_get( 'color_header_sitetitle' ) );
		$sitetitle_color_default       = pen_option_default( 'color_header_sitetitle' );
		$sitetitle_color_hover         = esc_html( pen_option_get( 'color_header_sitetitle_hover' ) );
		$sitetitle_color_hover_default = pen_option_default( 'color_header_sitetitle_hover' );
		$sitetitle_font                = esc_html( pen_option_get( 'font_family_sitetitle' ) );
		$sitetitle_size                = esc_html( pen_option_get( 'font_size_sitetitle' ) );
		$sitetitle_size_default        = pen_option_default( 'font_size_sitetitle' );

		if ( 'preset_1' !== $preset_color || $sitetitle_color !== $sitetitle_color_default || $link_color !== $link_color_default // || because $link_color may affect the sitetitle_color.
			|| 'default' !== $sitetitle_font || $sitetitle_size !== $sitetitle_size_default ) {
			$css .= '#pen_header h1 a .site-title {';
			if ( 'preset_1' !== $preset_color || $sitetitle_color !== $sitetitle_color_default || $link_color !== $link_color_default ) {
				$css .= 'color:' . $sitetitle_color . ';';
			}
			if ( 'default' !== $sitetitle_font ) {
				$css .= 'font-family:"' . ltrim( $sitetitle_font, 'g:' ) . '", Arial, Helvetica, Sans-serif;
			font-weight:normal;';
			}
			if ( $sitetitle_size !== $sitetitle_size_default ) {
				$css .= 'font-size:' . $sitetitle_size . ';';
			}
			$css .= '}';
		}
		if ( 'preset_1' !== $preset_color || $sitetitle_color_hover !== $sitetitle_color_hover_default || $link_color_hover !== $link_color_hover_default ) {
			$css .= '#pen_header h1 a:focus .site-title,
			#pen_header h1 a:hover .site-title,
			#pen_header h1 a:active .site-title {
				color:' . $sitetitle_color_hover . ';
			}';
		}

		$sitedescription_color               = esc_html( pen_option_get( 'color_header_sitedescription' ) );
		$sitedescription_color_default       = pen_option_default( 'color_header_sitedescription' );
		$sitedescription_color_hover         = esc_html( pen_option_get( 'color_header_sitedescription_hover' ) );
		$sitedescription_color_hover_default = pen_option_default( 'color_header_sitedescription_hover' );
		$sitedescription_font                = esc_html( pen_option_get( 'font_family_sitedescription' ) );
		$sitedescription_size                = esc_html( pen_option_get( 'font_size_sitedescription' ) );
		$sitedescription_size_default        = pen_option_default( 'font_size_sitedescription' );

		if ( 'preset_1' !== $preset_color || $sitedescription_color !== $sitedescription_color_default || $link_color !== $link_color_default || 'default' !== $sitedescription_font || $sitedescription_size !== $sitedescription_size_default ) {
			$css .= '#pen_header h1 a .site-description {';
			if ( 'preset_1' !== $preset_color || $sitedescription_color !== $sitedescription_color_default || $link_color !== $link_color_default ) {
				$css .= 'color:' . $sitedescription_color . ';';
			}
			if ( 'default' !== $sitedescription_font ) {
				$css .= 'font-family:"' . ltrim( $sitedescription_font, 'g:' ) . '", Arial, Helvetica, Sans-serif;
			font-weight:normal;';
			}
			if ( $sitedescription_size !== $sitedescription_size_default ) {
				$css .= 'font-size:' . $sitedescription_size . ';';
			}
			$css .= '}';
		}
		if ( 'preset_1' !== $preset_color || $sitedescription_color_hover !== $sitedescription_color_hover_default || $link_color_hover !== $link_color_hover_default ) {
			$css .= '#pen_header h1 a:focus .site-description,
			#pen_header h1 a:hover .site-description,
			#pen_header h1 a:active .site-description {
				color:' . $sitedescription_color_hover . ';
			}';
		}

		$social_size         = esc_html( pen_option_get( 'font_size_social_header' ) );
		$social_size_default = pen_option_default( 'font_size_social_header' );
		if ( $social_size !== $social_size_default ) {
			$css .= '#pen_header .pen_social_networks li {
				font-size:' . $social_size . '
			}';
		}

		if ( pen_option_get( 'phone' ) && pen_option_get( 'phone_header_display' ) ) {

			$phone_color               = esc_html( pen_option_get( 'color_header_phone' ) );
			$phone_color_default       = pen_option_default( 'color_header_phone' );
			$phone_color_hover         = esc_html( pen_option_get( 'color_header_phone_hover' ) );
			$phone_color_hover_default = pen_option_default( 'color_header_phone_hover' );
			$phone_font                = esc_html( pen_option_get( 'font_family_phone_header' ) );
			$phone_size                = esc_html( pen_option_get( 'font_size_phone_header' ) );
			$phone_size_default        = pen_option_default( 'font_size_phone_header' );

			if ( 'preset_1' !== $preset_color || $phone_color !== $phone_color_default || 'default' !== $phone_font || $phone_size !== $phone_size_default ) {
				$css .= '#pen_header .pen_header_main .pen_phone a {';
				if ( 'preset_1' !== $preset_color || $phone_color !== $phone_color_default ) {
					$css .= 'color:' . $phone_color . ';';
				}
				if ( 'default' !== $phone_font ) {
					$css .= 'font-family:"' . ltrim( $phone_font, 'g:' ) . '", Arial, Helvetica, Sans-serif;
				font-weight:normal;';
				}
				if ( $phone_size !== $phone_size_default ) {
					$css .= 'font-size:' . $phone_size . ';';
				}
				$css .= '}';
			}
			if ( 'preset_1' !== $preset_color || $phone_color_hover !== $phone_color_hover_default ) {
				$css .= '#pen_header .pen_header_main .pen_phone a:focus,
				#pen_header .pen_header_main .pen_phone a:hover,
				#pen_header .pen_header_main .pen_phone a:active {
					color:' . $phone_color_hover . ' !important;
				}';
			}
		}

		$field_background_primary           = esc_html( pen_option_get( 'color_header_field_background_primary' ) );
		$field_background_primary_default   = pen_option_default( 'color_header_field_background_primary' );
		$field_background_secondary         = esc_html( pen_option_get( 'color_header_field_background_secondary' ) );
		$field_background_secondary_default = pen_option_default( 'color_header_field_background_secondary' );
		$field_text                         = esc_html( pen_option_get( 'color_header_field_text' ) );
		$field_text_default                 = pen_option_default( 'color_header_field_text' );

		if ( 'preset_1' !== $preset_color || $field_background_primary !== $field_background_primary_default || $field_background_secondary !== $field_background_secondary_default || $field_text !== $field_text_default ) {
			$css .= '#pen_header .pen_header_main input[type="date"],
			#pen_header .pen_header_main input[type="email"],
			#pen_header .pen_header_main input[type="file"],
			#pen_header .pen_header_main input[type="number"],
			#pen_header .pen_header_main input[type="tel"],
			#pen_header .pen_header_main input[type="time"],
			#pen_header .pen_header_main input[type="text"],
			#pen_header .pen_header_main input[type="url"],
			#pen_header .pen_header_main option,
			#pen_header .pen_header_main select,
			#pen_header .pen_header_main textarea,
			#pen_header .pen_header_main .search-form .search-field {
				background:' . $field_background_secondary . ';';
			if ( $field_background_primary !== $field_background_secondary ) {
				$css .= 'background:-ms-linear-gradient(top,' . $field_background_primary . ' 0%,' . $field_background_secondary . ' 100%);
				background:linear-gradient(to bottom,' . $field_background_primary . ' 0%,' . $field_background_secondary . ' 100%);';
			}
			if ( 'preset_1' !== $preset_color || $field_text !== $field_text_default ) {
				$css .= 'color:' . $field_text . ';';
			}
			$css .= '}';
		}

		$search_background_top            = esc_html( pen_option_get( 'color_header_search_background_primary' ) );
		$search_background_top_default    = pen_option_default( 'color_header_search_background_primary' );
		$search_background_bottom         = esc_html( pen_option_get( 'color_header_search_background_secondary' ) );
		$search_background_bottom_default = pen_option_default( 'color_header_search_background_secondary' );
		$search_text                      = esc_html( pen_option_get( 'color_header_search_text' ) );
		$search_text_default              = pen_option_default( 'color_header_search_text' );

		$background_dark   = false;
		$search_text_check = new \Pen\Color( $search_text );
		if ( $search_text_check->isDark() ) {
			$background_dark = true;
		}

		if ( 'preset_1' !== $preset_color || $search_background_top !== $search_background_top_default || $search_background_bottom !== $search_background_bottom_default || $search_text !== $search_text_default || $background_dark ) {
			$css .= '#pen_header .pen_header_main .search-form .search-submit {
				background-color:' . $search_background_bottom . ';
				background:' . $search_background_bottom . ';';
			if ( $search_background_top !== $search_background_bottom ) {
				$css .= 'background:-ms-linear-gradient(top,' . $search_background_top . ' 0%,' . $search_background_bottom . ' 100%);
				background:linear-gradient(to bottom,' . $search_background_top . ' 0%,' . $search_background_bottom . ' 100%);';
			}
			if ( 'preset_1' !== $preset_color || $search_text !== $search_text_default ) {
				$css .= 'color:' . $search_text . ';';
			}
			$css .= '}';
			if ( $background_dark ) {
				$css .= 'body.pen_drop_shadow #pen_header .pen_header_main .search-form .search-submit {
					text-shadow:1px 1px 2px rgba(255,255,255,0.5);
				}';
			}
			$css .= 'body.pen_drop_shadow #pen_header .pen_header_main input[type="date"]:focus,
			body.pen_drop_shadow #pen_header .pen_header_main input[type="date"]:active,
			body.pen_drop_shadow #pen_header .pen_header_main input[type="email"]:focus,
			body.pen_drop_shadow #pen_header .pen_header_main input[type="email"]:active,
			body.pen_drop_shadow #pen_header .pen_header_main input[type="file"]:focus,
			body.pen_drop_shadow #pen_header .pen_header_main input[type="file"]:active,
			body.pen_drop_shadow #pen_header .pen_header_main input[type="number"]:focus,
			body.pen_drop_shadow #pen_header .pen_header_main input[type="number"]:active,
			body.pen_drop_shadow #pen_header .pen_header_main input[type="tel"]:focus,
			body.pen_drop_shadow #pen_header .pen_header_main input[type="tel"]:active,
			body.pen_drop_shadow #pen_header .pen_header_main input[type="time"]:focus,
			body.pen_drop_shadow #pen_header .pen_header_main input[type="time"]:active,
			body.pen_drop_shadow #pen_header .pen_header_main input[type="text"]:focus,
			body.pen_drop_shadow #pen_header .pen_header_main input[type="text"]:active,
			body.pen_drop_shadow #pen_header .pen_header_main input[type="url"]:focus,
			body.pen_drop_shadow #pen_header .pen_header_main input[type="url"]:active,
			body.pen_drop_shadow #pen_header .pen_header_main option:focus,
			body.pen_drop_shadow #pen_header .pen_header_main option:active,
			body.pen_drop_shadow #pen_header .pen_header_main select:focus,
			body.pen_drop_shadow #pen_header .pen_header_main select:active,
			body.pen_drop_shadow #pen_header .pen_header_main textarea:focus,
			body.pen_drop_shadow #pen_header .pen_header_main textarea:active,
			body.pen_drop_shadow #pen_header .pen_header_main .search-form .search-field:focus,
			body.pen_drop_shadow #pen_header .pen_header_main .search-form .search-field:active {
				box-shadow:2px 2px 2px rgba(0,0,0,0.2) inset, 0 0 7px ' . $search_background_bottom . ';
			}
			#pen_header .pen_header_main .search-form .search-submit:focus,
			#pen_header .pen_header_main .search-form .search-submit:active {
				background:' . $search_background_bottom . ';
			}';
		}

		$css = pen_compress_css( $css );

		wp_add_inline_style( 'pen-css', $css );
	}
	add_action( 'wp_enqueue_scripts', 'pen_inline_css_header' );
}

if ( ! function_exists( 'pen_inline_css_navigation' ) ) {
	/**
	 * Adds inline CSS for the main navigation menu.
	 *
	 * @since Pen 1.0.0
	 * @return void
	 */
	function pen_inline_css_navigation() {
		$css = '';

		if ( pen_option_get( 'navigation_display' ) ) {

			$preset_color             = esc_html( pen_preset_get( 'color' ) );
			$background_left          = esc_html( pen_option_get( 'color_navigation_background_primary' ) );
			$background_left_default  = pen_option_default( 'color_navigation_background_primary' );
			$background_right         = esc_html( pen_option_get( 'color_navigation_background_secondary' ) );
			$background_right_default = pen_option_default( 'color_navigation_background_secondary' );
			$background_image         = esc_html( pen_option_get( 'background_image_navigation' ) );

			$angle         = esc_html( pen_option_get( 'color_navigation_background_angle' ) );
			$angle_default = pen_option_default( 'color_navigation_background_angle' );
			if ( 'to right' === $angle ) {
				$angle_ie = 'left';
			} elseif ( 'to bottom' === $angle ) {
				$angle_ie = 'top';
			} elseif ( false !== strpos( $angle, 'deg' ) ) {
				$angle_ie = ( str_replace( 'deg', '', $angle ) + 200 ) . 'deg';
			}

			if ( 'preset_1' !== $preset_color || $background_left !== $background_left_default || $background_right !== $background_right_default || $background_image || $angle !== $angle_default ) {
				$css .= '#pen_navigation {
					background-color:' . $background_left . ';
					background:' . $background_left . ';';
				if ( $background_left !== $background_right ) {
					$css .= 'background:-ms-linear-gradient(' . $angle_ie . ',' . $background_left . ' 0%,' . $background_right . ' 100%);
					background:linear-gradient(' . $angle . ',' . $background_left . ' 0%,' . $background_right . ' 100%);';
				}
				if ( $background_image ) {
					$css .= "background-image:url('" . $background_image . "');
					background-repeat:no-repeat;
					background-position:top center;
					background-size:cover;";
				}
				$css .= '}';
			}

			$background_submenu_left          = esc_html( pen_option_get( 'color_navigation_background_submenu_primary' ) );
			$background_submenu_left_default  = pen_option_default( 'color_navigation_background_submenu_primary' );
			$background_submenu_right         = esc_html( pen_option_get( 'color_navigation_background_submenu_secondary' ) );
			$background_submenu_right_default = pen_option_default( 'color_navigation_background_submenu_secondary' );
			$background_submenu_image         = esc_html( pen_option_get( 'background_image_navigation_submenu' ) );

			$angle         = esc_html( pen_option_get( 'color_navigation_background_submenu_angle' ) );
			$angle_default = pen_option_default( 'color_navigation_background_submenu_angle' );
			if ( 'to right' === $angle ) {
				$angle_ie = 'left';
			} elseif ( 'to bottom' === $angle ) {
				$angle_ie = 'top';
			} elseif ( false !== strpos( $angle, 'deg' ) ) {
				$angle_ie = ( str_replace( 'deg', '', $angle ) + 200 ) . 'deg';
			}

			if ( 'preset_1' !== $preset_color || $background_submenu_left !== $background_submenu_left_default || $background_submenu_right !== $background_submenu_right_default || $background_submenu_image || $angle !== $angle_default ) {
				$css .= '#pen_navigation ul ul {
					background-color:' . $background_submenu_left . ';
					background:' . $background_submenu_left . ';';
				if ( $background_submenu_left !== $background_submenu_right ) {
					$css .= 'background:-ms-linear-gradient(' . $angle_ie . ',' . $background_submenu_left . ' 0%,' . $background_submenu_right . ' 100%);
					background:linear-gradient(' . $angle . ',' . $background_submenu_left . ' 0%,' . $background_submenu_right . ' 100%);';
				}
				if ( $background_submenu_image ) {
					$css .= "background-image:url('" . $background_submenu_image . "');
					background-repeat:no-repeat;
					background-position:top center;
					background-size:cover;";
				}
				$css .= '}';
			}

			$link_color               = esc_html( pen_option_get( 'color_navigation_link' ) );
			$link_color_default       = pen_option_default( 'color_navigation_link' );
			$link_color_hover         = esc_html( pen_option_get( 'color_navigation_link_hover' ) );
			$link_color_hover_default = pen_option_default( 'color_navigation_link_hover' );
			$navigation_font          = esc_html( pen_option_get( 'font_family_navigation' ) );
			$navigation_size          = esc_html( pen_option_get( 'font_size_navigation' ) );
			$navigation_size_default  = pen_option_default( 'font_size_navigation' );

			if ( ! pen_option_get( 'color_navigation_text_shadow_display' ) ) {
				$text_shadow = 'none';
			} else {
				$text_shadow = '1px 1px 1px ' . esc_html( pen_option_get( 'color_navigation_text_shadow' ) );
			}
			if ( 'preset_1' !== $preset_color || $link_color !== $link_color_default || '1px 1px 1px ' . pen_option_default( 'color_navigation_text_shadow' ) !== $text_shadow || 'default' !== $navigation_font || $navigation_size !== $navigation_size_default ) {
				$css .= '#pen_navigation a {';
				if ( 'preset_1' !== $preset_color || $link_color !== $link_color_default ) {
					$css .= 'color:' . $link_color . ';';
				}
				if ( 'default' !== $navigation_font ) {
					$css .= 'font-family:"' . ltrim( $navigation_font, 'g:' ) . '", Arial, Helvetica, Sans-serif;
				font-weight:normal;';
				}
				if ( $navigation_size !== $navigation_size_default ) {
					$css .= 'font-size:' . $navigation_size . ';';
				}
				if ( 'preset_1' !== $preset_color || '1px 1px 1px ' . pen_option_default( 'color_navigation_text_shadow' ) !== $text_shadow ) {
					$css .= 'text-shadow:' . $text_shadow . ';';
				}
				$css .= '}';

				$separator = esc_html( pen_option_get( 'navigation_separator' ) );
				if ( 'preset_1' !== $preset_color && $separator ) {
					if ( in_array( $separator, array( 1, 2, 3 ), true ) ) {
						$css .= '#pen_navigation.pen_separator_' . $separator . ' div#primary-menu > ul > li:after,
						#pen_navigation.pen_separator_' . $separator . ' ul#primary-menu > li:after {
							background:-ms-linear-gradient(270deg, rgba(0,0,0,0) 0%, ' . $link_color . ' 50%, rgba(0,0,0,0) 100%);
							background:linear-gradient(180deg, rgba(0,0,0,0) 0%, ' . $link_color . ' 50%, rgba(0,0,0,0) 100%);
						}';
					} elseif ( in_array( $separator, array( 4, 5, 7 ), true ) ) {
						$css .= '#pen_navigation.pen_separator_' . $separator . ' div#primary-menu > ul > li:after,
						#pen_navigation.pen_separator_' . $separator . ' ul#primary-menu > li:after {
							background:' . $link_color . ';
						}';
					} elseif ( 6 === $separator ) {
						$css .= '#pen_navigation.pen_separator_' . $separator . ' div#primary-menu > ul > li:before,
						#pen_navigation.pen_separator_' . $separator . ' ul#primary-menu > li:before,
						#pen_navigation.pen_separator_' . $separator . ' div#primary-menu > ul > li:after,
						#pen_navigation.pen_separator_' . $separator . ' ul#primary-menu > li:after {
							background:' . $link_color . ';
						}';
					} elseif ( in_array( $separator, array( 8, 9 ), true ) ) {
						$css .= '#pen_navigation.pen_separator_' . $separator . ' div#primary-menu > ul > li:after,
						#pen_navigation.pen_separator_' . $separator . ' ul#primary-menu > li:after {
							border-color:' . $link_color . ';
						}';
					} elseif ( 10 === $separator ) {
						$css .= '#pen_navigation.pen_separator_' . $separator . ' div#primary-menu > ul > li:after,
						#pen_navigation.pen_separator_' . $separator . ' ul#primary-menu > li:after {
							color:' . $link_color . ';
						}';
					}
				}

				$hover = esc_html( pen_option_get( 'navigation_hover' ) );
				if ( 'preset_1' !== $preset_color && $hover ) {
					if ( 1 === $hover || 2 === $hover ) {
						$link_color_check = new \Pen\Color( $link_color );
						if ( $link_color_check->isDark() ) {
							$css .= '#pen_navigation.pen_hover_' . $hover . ' div#primary-menu > ul > li.sfHover > a,
								#pen_navigation.pen_hover_' . $hover . ' div#primary-menu > ul > li > a:focus,
								#pen_navigation.pen_hover_' . $hover . ' div#primary-menu > ul > li > a:hover,
								#pen_navigation.pen_hover_' . $hover . ' div#primary-menu > ul > li > a:active,
								#pen_navigation.pen_hover_' . $hover . ' div#primary-menu > ul > li.current-menu-item > a,
								#pen_navigation.pen_hover_' . $hover . ' ul#primary-menu > li.sfHover > a,
								#pen_navigation.pen_hover_' . $hover . ' ul#primary-menu > li > a:focus,
								#pen_navigation.pen_hover_' . $hover . ' ul#primary-menu > li > a:hover,
								#pen_navigation.pen_hover_' . $hover . ' ul#primary-menu > li > a:active,
								#pen_navigation.pen_hover_' . $hover . ' ul#primary-menu > li.current-menu-item > a {';
							if ( 'preset_15' === $preset_color ) {
								$css .= 'background:rgba(255,255,255,0.5);';
							} else {
								$css .= 'background:rgba(255,255,255,0.3);';
							}
							$css .= '}';
						}
					} elseif ( in_array( $hover, array( 3, 4, 5, 6, 7, 10 ), true ) ) {
						$css .= '#pen_navigation.pen_hover_' . $hover . ' div#primary-menu > ul > li > a:after,
						#pen_navigation.pen_hover_' . $hover . ' ul#primary-menu > li > a:after {
							background:' . $link_color . ';
						}';
					} elseif ( 8 === $hover ) {
						$css .= '#pen_navigation.pen_hover_' . $hover . ' div#primary-menu > ul > li > a:after,
						#pen_navigation.pen_hover_' . $hover . ' ul#primary-menu > li > a:after {
							border-top-color:' . $link_color . ';
						}';
					} elseif ( 9 === $hover ) {
						$css .= '#pen_navigation.pen_hover_' . $hover . ' div#primary-menu > ul > li > a:after,
						#pen_navigation.pen_hover_' . $hover . ' ul#primary-menu > li > a:after {
							border-bottom-color:' . $link_color . ';
						}';
					}
				}
			}

			if ( 'preset_1' !== $preset_color || $link_color_hover !== $link_color_hover_default ) {
				$css .= '#pen_navigation li.sfHover > a,
				#pen_navigation a:focus,
				#pen_navigation a:hover,
				#pen_navigation a:active {
					color:' . $link_color_hover . ';
				}';
			}

			$link_color_submenu               = esc_html( pen_option_get( 'color_navigation_link_submenu' ) );
			$link_color_submenu_default       = pen_option_default( 'color_navigation_link_submenu' );
			$link_color_hover_submenu         = esc_html( pen_option_get( 'color_navigation_link_hover_submenu' ) );
			$link_color_hover_submenu_default = pen_option_default( 'color_navigation_link_hover_submenu' );

			$navigation_submenu_font = esc_html( pen_option_get( 'font_family_navigation_submenu' ) );

			if ( ! pen_option_get( 'color_navigation_text_shadow_display_submenu' ) ) {
				$text_shadow_submenu = 'none';
			} else {
				$text_shadow_submenu = '1px 1px 1px ' . esc_html( pen_option_get( 'color_navigation_text_shadow_submenu' ) );
			}
			if ( 'preset_1' !== $preset_color || $link_color_submenu !== $link_color_submenu_default || '1px 1px 1px ' . pen_option_default( 'color_navigation_text_shadow_submenu' ) !== $text_shadow_submenu || 'default' !== $navigation_submenu_font || $navigation_size !== $navigation_size_default ) {
				$css .= '#pen_navigation li li a {';
				if ( 'preset_1' !== $preset_color || $link_color_submenu !== $link_color_submenu_default ) {
					$css .= 'color:' . $link_color_submenu . ';';
				}
				if ( 'default' !== $navigation_submenu_font ) {
					$css .= 'font-family:"' . ltrim( $navigation_submenu_font, 'g:' ) . '", Arial, Helvetica, Sans-serif;
				font-weight:normal;';
				}
				if ( $navigation_size !== $navigation_size_default ) {
					$css .= 'font-size:' . $navigation_size . ';';
				}
				if ( 'preset_1' !== $preset_color || '1px 1px 1px ' . pen_option_default( 'color_navigation_text_shadow_submenu' ) !== $text_shadow_submenu ) {
					$css .= 'text-shadow:' . $text_shadow_submenu . ';';
				}
				$css .= '}';

				$separator = esc_html( pen_option_get( 'navigation_separator_submenu' ) );
				if ( 'preset_1' !== $preset_color && $separator ) {
					if ( 1 === $separator ) {
						$css .= '#pen_navigation.pen_separator_submenu_' . $separator . ' li li:after {
							background:-ms-linear-gradient(180deg,rgba(0,0,0,0) 0%, ' . $link_color_submenu . ' 25%,rgba(0,0,0,0) 100%);
							background:linear-gradient(90deg,rgba(0,0,0,0) 0%, ' . $link_color_submenu . ' 25%,rgba(0,0,0,0) 100%);
						}';
					} elseif ( 2 === $separator ) {
						$css .= '#pen_navigation.pen_separator_submenu_' . $separator . ' li li:after {
							background:-ms-linear-gradient(180deg,rgba(0,0,0,0) 0%, ' . $link_color_submenu . ' 50%,rgba(0,0,0,0) 100%);
							background:linear-gradient(90deg,rgba(0,0,0,0) 0%, ' . $link_color_submenu . ' 50%,rgba(0,0,0,0) 100%);
						}';
					} elseif ( 3 === $separator ) {
						$css .= '#pen_navigation.pen_separator_submenu_' . $separator . ' li li:after {
							background:-ms-linear-gradient(180deg,rgba(0,0,0,0) 0%, ' . $link_color_submenu . ' 75%,rgba(0,0,0,0) 100%);
							background:linear-gradient(90deg,rgba(0,0,0,0) 0%, ' . $link_color_submenu . ' 75%,rgba(0,0,0,0) 100%);
						}';
					} elseif ( in_array( $separator, array( 4, 5, 7 ), true ) ) {
						$css .= '#pen_navigation.pen_separator_submenu_' . $separator . ' li li:after {
							background:' . $link_color_submenu . ';
						}';
					} elseif ( 6 === $separator ) {
						$css .= '#pen_navigation.pen_separator_submenu_' . $separator . ' li li:before,
						#pen_navigation.pen_separator_' . $separator . ' li li:after {
							background:' . $link_color_submenu . ';
						}';
					} elseif ( in_array( $separator, array( 8, 9 ), true ) ) {
						$css .= '#pen_navigation.pen_separator_submenu_' . $separator . ' li li:after {
							border-color:' . $link_color . ';
						}';
					} elseif ( 10 === $separator ) {
						$css .= '#pen_navigation.pen_separator_submenu_' . $separator . ' li li:after {
							color:' . $link_color . ';
						}';
					}
				}
			}
			if ( 'preset_1' !== $preset_color || $link_color_hover_submenu !== $link_color_hover_submenu_default ) {
				$css .= '#pen_navigation li li.sfHover > a,
				#pen_navigation li li a:focus,
				#pen_navigation li li a:hover,
				#pen_navigation li li a:active {
					color:' . $link_color_hover_submenu . ';
				}';
			}
			$css = pen_compress_css( $css );
		}

		wp_add_inline_style( 'pen-css', $css );
	}
	add_action( 'wp_enqueue_scripts', 'pen_inline_css_navigation' );
}

if ( ! function_exists( 'pen_inline_css_search' ) ) {
	/**
	 * Adds inline CSS for the search bar.
	 *
	 * @since Pen 1.0.0
	 * @return void
	 */
	function pen_inline_css_search() {
		$css = '';

		$search_location = get_post_meta( get_the_ID(), 'pen_content_search_location_override', true );
		if ( ! $search_location || 'default' === $search_location ) {
			$search_location = esc_html( pen_option_get( 'search_location' ) );
		}
		$search = pen_html_search_box();
		if ( $search && 'content' === $search_location ) {

			$preset_color                       = esc_html( pen_preset_get( 'color' ) );
			$field_background_primary           = esc_html( pen_option_get( 'color_search_field_background_primary' ) );
			$field_background_primary_default   = pen_option_default( 'color_search_field_background_primary' );
			$field_background_secondary         = esc_html( pen_option_get( 'color_search_field_background_secondary' ) );
			$field_background_secondary_default = pen_option_default( 'color_search_field_background_secondary' );
			$field_text                         = esc_html( pen_option_get( 'color_search_field_text' ) );
			$field_text_default                 = pen_option_default( 'color_search_field_text' );

			if ( 'preset_1' !== $preset_color || $field_background_primary !== $field_background_primary_default || $field_background_secondary !== $field_background_secondary_default || $field_text !== $field_text_default ) {
				$css .= '#pen_search .search-form .search-field {
					background:' . $field_background_secondary . ';';
				if ( $field_background_primary !== $field_background_secondary ) {
					$css .= 'background:-ms-linear-gradient(top,' . $field_background_primary . ' 0%,' . $field_background_secondary . ' 100%);
					background:linear-gradient(to bottom,' . $field_background_primary . ' 0%,' . $field_background_secondary . ' 100%);';
				}
				if ( 'preset_1' !== $preset_color || $field_text !== $field_text_default ) {
					$css .= 'color:' . $field_text . ';';
				}
				$css .= '}';
			}

			$background_left          = esc_html( pen_option_get( 'color_search_background_primary' ) );
			$background_left_default  = pen_option_default( 'color_search_background_primary' );
			$background_right         = esc_html( pen_option_get( 'color_search_background_secondary' ) );
			$background_right_default = pen_option_default( 'color_search_background_secondary' );
			$background_image         = esc_html( pen_option_get( 'background_image_search' ) );

			$angle         = esc_html( pen_option_get( 'color_search_background_angle' ) );
			$angle_default = pen_option_default( 'color_search_background_angle' );
			if ( 'to right' === $angle ) {
				$angle_ie = 'left';
			} elseif ( 'to bottom' === $angle ) {
				$angle_ie = 'top';
			} elseif ( false !== strpos( $angle, 'deg' ) ) {
				$angle_ie = ( str_replace( 'deg', '', $angle ) + 200 ) . 'deg';
			}

			if ( 'preset_1' !== $preset_color || $background_left !== $background_left_default || $background_right !== $background_right_default || $background_image || $angle !== $angle_default ) {
				$css .= '#pen_search {
					background-color:' . $background_left . ';
					background:' . $background_left . ';';
				if ( $background_left !== $background_right ) {
					$css .= 'background:-ms-linear-gradient(' . $angle_ie . ',' . $background_left . ' 0%,' . $background_right . ' 100%);
					background:linear-gradient(' . $angle . ',' . $background_left . ' 0%,' . $background_right . ' 100%);';
				}
				if ( $background_image ) {
					$css .= "background-image:url('" . $background_image . "');
					background-repeat:no-repeat;
					background-position:top center;
					background-size:cover;";
				}
				$css .= '}';
			}

			$text_color         = esc_html( pen_option_get( 'color_search_text' ) );
			$text_color_default = pen_option_default( 'color_search_text' );
			if ( 'preset_1' !== $preset_color || $text_color !== $text_color_default ) {
				$css .= '#pen_search .widget {
					color:' . $text_color . ';
				}';
			}

			if ( ! pen_option_get( 'color_search_text_shadow_display' ) ) {
				$text_shadow = 'none';
			} else {
				$text_shadow = '1px 1px 1px ' . esc_html( pen_option_get( 'color_search_text_shadow' ) );
			}
			if ( 'preset_1' !== $preset_color || '1px 1px 1px ' . pen_option_default( 'color_search_text_shadow' ) !== $text_shadow ) {
				$css .= 'body.pen_drop_shadow #pen_search .widget {
					text-shadow:' . $text_shadow . ';
				}';
			}

			$link_color               = esc_html( pen_option_get( 'color_search_link' ) );
			$link_color_default       = pen_option_default( 'color_search_link' );
			$link_color_hover         = esc_html( pen_option_get( 'color_search_link_hover' ) );
			$link_color_hover_default = pen_option_default( 'color_search_link_hover' );
			if ( 'preset_1' !== $preset_color || $link_color !== $link_color_default ) {
				$css .= '#pen_search .widget a {
					color:' . $link_color . ';
				}';
			}
			if ( 'preset_1' !== $preset_color || $link_color_hover !== $link_color_hover_default ) {
				$css .= '#pen_search .widget a:focus,
				#pen_search .widget a:hover,
				#pen_search .widget a:active {
					color:' . $link_color_hover . ' !important;
				}';
			}

			$search_background_top            = esc_html( pen_option_get( 'color_search_button_background_primary' ) );
			$search_background_top_default    = pen_option_default( 'color_search_button_background_primary' );
			$search_background_bottom         = esc_html( pen_option_get( 'color_search_button_background_secondary' ) );
			$search_background_bottom_default = pen_option_default( 'color_search_button_background_secondary' );
			$search_text                      = esc_html( pen_option_get( 'color_search_button_text' ) );
			$search_text_default              = pen_option_default( 'color_search_button_text' );

			$background_dark   = false;
			$search_text_check = new \Pen\Color( $search_text );
			if ( $search_text_check->isDark() ) {
				$background_dark = true;
			}

			if ( 'preset_1' !== $preset_color || $search_background_top !== $search_background_top_default || $search_background_bottom !== $search_background_bottom_default || $search_text !== $search_text_default || $background_dark ) {
				$css .= '#pen_search .search-form .search-submit {
					background:' . $search_background_bottom . ';';
				if ( $search_background_top !== $search_background_bottom ) {
					$css .= 'background:-ms-linear-gradient(top,' . $search_background_top . ' 0%,' . $search_background_bottom . ' 100%);
					background:linear-gradient(to bottom,' . $search_background_top . ' 0%,' . $search_background_bottom . ' 100%);';
				}
				if ( 'preset_1' !== $preset_color || $search_text !== $search_text_default ) {
					$css .= 'color:' . $search_text . ';';
				}
				$css .= '}
				#pen_search .search-form .search-submit:active {
					background:' . $search_background_bottom . ';
				}';
				if ( $background_dark ) {
					$css .= 'body.pen_drop_shadow #pen_search .search-form .search-submit {
						text-shadow:1px 1px 2px rgba(255,255,255,0.5);
					}';
				}
			}

			$css = pen_compress_css( $css );

		}

		wp_add_inline_style( 'pen-css', $css );
	}
	add_action( 'wp_enqueue_scripts', 'pen_inline_css_search' );
}

if ( ! function_exists( 'pen_inline_css_content' ) ) {
	/**
	 * Adds inline CSS for the content area.
	 *
	 * @since Pen 1.0.0
	 * @return void
	 */
	function pen_inline_css_content() {
		$css                      = '';
		$preset_color             = esc_html( pen_preset_get( 'color' ) );
		$background_left          = esc_html( pen_option_get( 'color_content_title_background_primary' ) );
		$background_left_default  = pen_option_default( 'color_content_title_background_primary' );
		$background_right         = esc_html( pen_option_get( 'color_content_title_background_secondary' ) );
		$background_right_default = pen_option_default( 'color_content_title_background_secondary' );
		$background_image         = esc_html( pen_option_get( 'background_image_content_title' ) );
		$angle                    = esc_html( pen_option_get( 'color_content_title_background_angle' ) );
		$angle_default            = pen_option_default( 'color_content_title_background_angle' );
		if ( 'to right' === $angle ) {
			$angle_ie = 'left';
		} elseif ( 'to bottom' === $angle ) {
			$angle_ie = 'top';
		} elseif ( false !== strpos( $angle, 'deg' ) ) {
			$angle_ie = ( str_replace( 'deg', '', $angle ) + 200 ) . 'deg';
		}

		if ( 'preset_1' !== $preset_color || $background_left !== $background_left_default || $background_right !== $background_right_default || $angle !== $angle_default || $background_image ) {
			$css .= '#main article header {
				background-color:' . $background_left . ';
				background:' . $background_left . ';';
			if ( $background_left !== $background_right ) {
				$css .= 'background:-ms-linear-gradient(' . $angle_ie . ',' . $background_left . ' 0%,' . $background_right . ' 100%);
				background:linear-gradient(' . $angle . ',' . $background_left . ' 0%,' . $background_right . ' 100%);';
			}
			if ( $background_image ) {
				$css .= "background-image:url('" . $background_image . "');
				background-repeat:no-repeat;
				background-position:top center;
				background-size:cover;";
			}
			$css .= '}';
		}

		$text_color         = esc_html( pen_option_get( 'color_content_text' ) );
		$text_color_default = pen_option_default( 'color_content_text' );
		if ( 'preset_1' !== $preset_color || $text_color !== $text_color_default ) {
			$css .= '#main .page-content,
			#main .entry-content,
			#main .entry-summary,
			#main .entry-footer,
			#main label,
			#comments,
			#comments h3 {
				color:' . $text_color . ';
			}';

			$view            = is_singular() ? 'content' : 'list';
			$profile_display = get_post_meta( get_the_ID(), 'pen_' . $view . '_profile_display_override', true );
			if ( ! $profile_display || 'default' === $profile_display ) {
				$profile_display = esc_html( pen_option_get( $view . '_profile_display' ) );
			}
			if ( $profile_display ) {
				$css .= '#primary .pen_author_profile:before {
					background: -ms-linear-gradient(180deg, rgba(255,255,255,0) 0%,' . $text_color . ' 50%, rgba(255,255,255,0) 100%);
					background: linear-gradient(90deg, rgba(255,255,255,0) 0%,' . $text_color . ' 50%, rgba(255,255,255,0) 100%);
				}';
			}
		}

		$background_color         = esc_html( pen_option_get( 'color_content_background_primary' ) );
		$background_color_default = pen_option_default( 'color_content_background_primary' );
		if ( 'preset_1' !== $preset_color || $background_color !== $background_color_default ) {
			$css .= '#main .page-content,
			#main .pen_article_wrapper > article,
			body.pen_list_masonry #pen_masonry article,
			#primary .pen_author_profile .pen_author_avatar,
			#comments,
			#comments ol.comment-list li.comment div.comment-author .photo,
			body.pen_list_plain #pen_pager {
				background-color:' . $background_color . ';
				background:' . $background_color . ';
			}';
		}

		$link_color               = esc_html( pen_option_get( 'color_content_link' ) );
		$link_color_default       = pen_option_default( 'color_content_link' );
		$link_color_hover         = esc_html( pen_option_get( 'color_content_link_hover' ) );
		$link_color_hover_default = pen_option_default( 'color_content_link_hover' );
		if ( 'preset_1' !== $preset_color || $link_color !== $link_color_default ) {
			$css .= '#primary a {
				color:' . $link_color . ';
			}';
		}
		if ( 'preset_1' !== $preset_color || $link_color_hover !== $link_color_hover_default ) {
			$css .= '#primary a:focus,
			#primary a:hover,
			#primary a:active {
				color:' . $link_color_hover . ';
			}';
		}

		if ( ! pen_option_get( 'color_content_title_text_shadow_display' ) ) {
			$text_shadow = 'none';
		} else {
			$text_shadow = '1px 1px 1px ' . esc_html( pen_option_get( 'color_content_title_text_shadow' ) );
		}

		if ( is_singular() ) {
			$title_font         = esc_html( pen_option_get( 'font_family_title_content' ) );
			$title_size         = esc_html( pen_option_get( 'font_size_title_content' ) );
			$title_size_default = pen_option_default( 'font_size_title_content' );
		} else {
			$title_font         = esc_html( pen_option_get( 'font_family_title_list' ) );
			$title_size         = esc_html( pen_option_get( 'font_size_title_list' ) );
			$title_size_default = pen_option_default( 'font_size_title_list' );
		}

		if ( 'preset_1' !== $preset_color || $title_size !== $title_size_default || '1px 1px 1px ' . pen_option_default( 'color_content_title_text_shadow' ) !== $text_shadow || 'default' !== $title_font ) {
			$css .= '#main header .entry-title,
			#main header .page-title {';
			if ( 'default' !== $title_font ) {
				$css .= 'font-family:"' . ltrim( $title_font, 'g:' ) . '", Arial, Helvetica, Sans-serif;
				font-weight:normal;';
			}
			if ( $title_size !== $title_size_default ) {
				$css .= 'font-size:' . $title_size . ' !important;';
			}
			if ( 'preset_1' !== $preset_color || '1px 1px 1px ' . pen_option_default( 'color_content_title_text_shadow' ) !== $text_shadow ) {
				$css .= 'text-shadow:' . $text_shadow . ';';
			}
			$css .= '}';
		}

		$title_color         = esc_html( pen_option_get( 'color_content_title_text' ) );
		$title_color_default = pen_option_default( 'color_content_title_text' );

		if ( 'preset_1' !== $preset_color || $title_color !== $title_color_default ) {
			$css .= '#main article header {
				color:' . $title_color . ';
			}
			#main article .entry-meta > span:after {
				background: -ms-linear-gradient(270deg, rgba(0,0,0,0) 0%,' . $title_color . ' 50%, rgba(0,0,0,0) 100%);
				background: linear-gradient(180deg, rgba(0,0,0,0) 0%,' . $title_color . ' 50%, rgba(0,0,0,0) 100%);
			}';
		}

		$link_color               = esc_html( pen_option_get( 'color_content_title_link' ) );
		$link_color_default       = pen_option_default( 'color_content_title_link' );
		$link_color_hover         = esc_html( pen_option_get( 'color_content_title_link_hover' ) );
		$link_color_hover_default = pen_option_default( 'color_content_title_link_hover' );
		if ( 'preset_1' !== $preset_color || $link_color !== $link_color_default ) {
			$css .= '#main article header a {
				color:' . $link_color . ';
			}';
		}
		if ( 'preset_1' !== $preset_color || $link_color_hover !== $link_color_hover_default ) {
			$css .= '#main article header a:focus,
			#main article header a:hover,
			#main article header a:active {
				color:' . $link_color_hover . ';
			}';
		}

		$field_background_primary           = esc_html( pen_option_get( 'color_content_field_background_primary' ) );
		$field_background_primary_default   = pen_option_default( 'color_content_field_background_primary' );
		$field_background_secondary         = esc_html( pen_option_get( 'color_content_field_background_secondary' ) );
		$field_background_secondary_default = pen_option_default( 'color_content_field_background_secondary' );
		$field_text                         = esc_html( pen_option_get( 'color_content_field_text' ) );
		$field_text_default                 = pen_option_default( 'color_content_field_text' );

		if ( 'preset_1' !== $preset_color || $field_background_primary !== $field_background_primary_default || $field_background_secondary !== $field_background_secondary_default || $field_text !== $field_text_default ) {
			$css .= '#main input[type="date"],
			#main input[type="email"],
			#main input[type="file"],
			#main input[type="number"],
			#main input[type="tel"],
			#main input[type="time"],
			#main input[type="text"],
			#main input[type="url"],
			#main option,
			#main select,
			#main textarea {
				background:' . $field_background_secondary . ';';
			if ( $field_background_primary !== $field_background_secondary ) {
				$css .= 'background:-ms-linear-gradient(top,' . $field_background_primary . ' 0%,' . $field_background_secondary . ' 100%);
				background:linear-gradient(to bottom,' . $field_background_primary . ' 0%,' . $field_background_secondary . ' 100%);';
			}
			if ( 'preset_1' !== $preset_color || $field_text !== $field_text_default ) {
				$css .= 'color:' . $field_text . ';';
			}
			$css .= '}';
		}

		$css = pen_compress_css( $css );

		wp_add_inline_style( 'pen-css', $css );
	}
	add_action( 'wp_enqueue_scripts', 'pen_inline_css_content' );
}

if ( ! function_exists( 'pen_inline_css_list' ) ) {
	/**
	 * Adds inline CSS for lists.
	 *
	 * @since Pen 1.0.0
	 * @return void
	 */
	function pen_inline_css_list() {

		$css          = '';
		$preset_color = esc_html( pen_preset_get( 'color' ) );

		if ( 'masonry' === pen_list_type() ) {
			$list_masonry_thumbnail_style                      = esc_html( pen_option_get( 'list_masonry_thumbnail_style' ) );
			$color_list_thumbnail_background_primary           = esc_html( pen_option_get( 'color_list_thumbnail_background_primary' ) );
			$color_list_thumbnail_background_primary_default   = pen_option_default( 'color_list_thumbnail_background_primary' );
			$color_list_thumbnail_background_secondary         = esc_html( pen_option_get( 'color_list_thumbnail_background_secondary' ) );
			$color_list_thumbnail_background_secondary_default = pen_option_default( 'color_list_thumbnail_background_secondary' );
			if ( 'preset_1' !== $preset_color || $color_list_thumbnail_background_primary !== $color_list_thumbnail_background_primary_default || $color_list_thumbnail_background_secondary !== $color_list_thumbnail_background_secondary_default ) {
				$css .= 'body.pen_list_masonry #pen_masonry article.pen_thumbnail_style_' . $list_masonry_thumbnail_style . ' .post-thumbnail {
					background: -ms-linear-gradient(180deg, ' . $color_list_thumbnail_background_primary . ' 0%, ' . $color_list_thumbnail_background_secondary . ' 50%, ' . $color_list_thumbnail_background_primary . ' 100%);
					background: linear-gradient(90deg, ' . $color_list_thumbnail_background_primary . ' 0%, ' . $color_list_thumbnail_background_secondary . ' 50%, ' . $color_list_thumbnail_background_primary . ' 100%);
				}';
			}
		}

		$css = pen_compress_css( $css );

		wp_add_inline_style( 'pen-css', $css );
	}
	add_action( 'wp_enqueue_scripts', 'pen_inline_css_list' );
}

if ( ! function_exists( 'pen_inline_css_bottom' ) ) {
	/**
	 * Adds inline CSS for the bottom area.
	 *
	 * @since Pen 1.0.0
	 * @return void
	 */
	function pen_inline_css_bottom() {
		$css = '';

		if ( pen_sidebar_check( 'sidebar-bottom' ) ) {

			$preset_color             = esc_html( pen_preset_get( 'color' ) );
			$background_left          = esc_html( pen_option_get( 'color_bottom_background_primary' ) );
			$background_left_default  = pen_option_default( 'color_bottom_background_primary' );
			$background_right         = esc_html( pen_option_get( 'color_bottom_background_secondary' ) );
			$background_right_default = pen_option_default( 'color_bottom_background_secondary' );
			$background_image         = esc_html( pen_option_get( 'background_image_bottom' ) );
			$angle                    = esc_html( pen_option_get( 'color_bottom_background_angle' ) );
			$angle_default            = pen_option_default( 'color_bottom_background_angle' );
			if ( 'to right' === $angle ) {
				$angle_ie = 'left';
			} elseif ( 'to bottom' === $angle ) {
				$angle_ie = 'top';
			} elseif ( false !== strpos( $angle, 'deg' ) ) {
				$angle_ie = ( str_replace( 'deg', '', $angle ) + 200 ) . 'deg';
			}

			$text_color         = esc_html( pen_option_get( 'color_bottom_text' ) );
			$text_color_default = pen_option_default( 'color_bottom_text' );
			if ( ! pen_option_get( 'color_bottom_text_shadow_display' ) ) {
				$text_shadow = 'none';
			} else {
				$text_shadow = '1px 1px 2px ' . esc_html( pen_option_get( 'color_bottom_text_shadow' ) );
			}

			if ( 'preset_1' !== $preset_color || $background_left !== $background_left_default || $background_right !== $background_right_default || $background_image || '1px 1px 2px ' . pen_option_default( 'color_bottom_text_shadow' ) !== $text_shadow || $angle !== $angle_default ) {
				$css .= '#pen_bottom.pen_not_transparent {
					background-color:' . $background_left . ';
					background:' . $background_left . ';';
				if ( $background_left !== $background_right ) {
					$css .= 'background:-ms-linear-gradient(' . $angle_ie . ',' . $background_left . ' 0%,' . $background_right . ' 100%);
					background:linear-gradient(' . $angle . ',' . $background_left . ' 0%,' . $background_right . ' 100%);';
				}
				if ( $background_image ) {
					$css .= "background-image:url('" . $background_image . "');
					background-repeat:no-repeat;
					background-position:top center;
					background-size:cover;";
				}
				if ( 'preset_1' !== $preset_color || $text_color !== $text_color_default ) {
					$css .= 'color:' . $text_color . ';';
				}
				if ( 'preset_1' !== $preset_color || '1px 1px 2px ' . pen_option_default( 'color_bottom_text_shadow' ) !== $text_shadow ) {
					$css .= 'text-shadow:' . $text_shadow . ';';
				}
				$css .= '}';
			}

			$headings_color         = esc_html( pen_option_get( 'color_bottom_headings' ) );
			$headings_color_default = pen_option_default( 'color_bottom_headings' );
			if ( ! pen_option_get( 'color_bottom_headings_text_shadow_display' ) ) {
				$headings_shadow = 'none';
			} else {
				$headings_shadow = '1px 1px 2px ' . esc_html( pen_option_get( 'color_bottom_headings_text_shadow' ) );
			}
			if ( 'preset_1' !== $preset_color || $headings_color !== $headings_color_default || '1px 1px 2px ' . pen_option_default( 'color_bottom_headings_text_shadow' ) !== $headings_shadow ) {
				$css .= '#pen_bottom .pen_widget_transparent h3,
				#pen_bottom .pen_widget_transparent h4,
				#pen_bottom .pen_widget_transparent h5 {';
				if ( 'preset_1' !== $preset_color || $headings_color !== $headings_color_default ) {
					$css .= 'color:' . $headings_color . ';';
				}
				if ( 'preset_1' !== $preset_color || '1px 1px 2px ' . pen_option_default( 'color_bottom_headings_text_shadow' ) !== $headings_shadow ) {
					$css .= 'text-shadow:' . $headings_shadow . ';';
				}
				$css .= '}';
			}

			$link_color               = esc_html( pen_option_get( 'color_bottom_link' ) );
			$link_color_default       = pen_option_default( 'color_bottom_link' );
			$link_color_hover         = esc_html( pen_option_get( 'color_bottom_link_hover' ) );
			$link_color_hover_default = pen_option_default( 'color_bottom_link_hover' );
			if ( 'preset_1' !== $preset_color || $link_color !== $link_color_default ) {
				$css .= '#pen_bottom a {
					color:' . $link_color . ';
				}';
			}
			if ( 'preset_1' !== $preset_color || $link_color_hover !== $link_color_hover_default ) {
				$css .= '#pen_bottom a:focus,
				#pen_bottom a:hover,
				#pen_bottom a:active {
					color:' . $link_color_hover . ';
				}';
			}
			$css = pen_compress_css( $css );
		}

		wp_add_inline_style( 'pen-css', $css );
	}
	add_action( 'wp_enqueue_scripts', 'pen_inline_css_bottom' );
}

if ( ! function_exists( 'pen_inline_css_footer' ) ) {
	/**
	 * Adds inline CSS for the footer area.
	 *
	 * @since Pen 1.0.0
	 * @return void
	 */
	function pen_inline_css_footer() {
		$css                      = '';
		$preset_color             = esc_html( pen_preset_get( 'color' ) );
		$background_left          = esc_html( pen_option_get( 'color_footer_background_primary' ) );
		$background_left_default  = pen_option_default( 'color_footer_background_primary' );
		$background_right         = esc_html( pen_option_get( 'color_footer_background_secondary' ) );
		$background_right_default = pen_option_default( 'color_footer_background_secondary' );
		$background_image         = esc_html( pen_option_get( 'background_image_footer' ) );
		$angle                    = esc_html( pen_option_get( 'color_footer_background_angle' ) );
		$angle_default            = pen_option_default( 'color_footer_background_angle' );
		if ( 'to right' === $angle ) {
			$angle_ie = 'left';
		} elseif ( 'to bottom' === $angle ) {
			$angle_ie = 'top';
		} elseif ( false !== strpos( $angle, 'deg' ) ) {
			$angle_ie = ( str_replace( 'deg', '', $angle ) + 200 ) . 'deg';
		}

		$text_color         = esc_html( pen_option_get( 'color_footer_text' ) );
		$text_color_default = pen_option_default( 'color_footer_text' );
		$link_color         = esc_html( pen_option_get( 'color_footer_link' ) );
		$link_color_default = pen_option_default( 'color_footer_link' );

		if ( ! pen_option_get( 'color_footer_text_shadow_display' ) ) {
			$text_shadow = 'none';
		} else {
			$text_shadow = '1px 1px 2px ' . esc_html( pen_option_get( 'color_footer_text_shadow' ) );
		}
		if ( 'preset_1' !== $preset_color || $background_left !== $background_left_default || $background_right !== $background_right_default || $background_image || $angle !== $angle_default ) {
			$css .= '#pen_footer.pen_not_transparent {
				background-color:' . $background_left . ';
				background:' . $background_left . ';';
			if ( $background_left !== $background_right ) {
				$css .= 'background:-ms-linear-gradient(' . $angle_ie . ',' . $background_left . ' 0%,' . $background_right . ' 100%);
				background:linear-gradient(' . $angle . ',' . $background_left . ' 0%,' . $background_right . ' 100%);';
			}
			if ( $background_image ) {
				$css .= "background-image:url('" . $background_image . "');
				background-repeat:no-repeat;
				background-position:top center;
				background-size:cover;";
			}
			if ( 'preset_1' !== $preset_color || $text_color !== $text_color_default ) {
				$css .= 'color:' . $text_color . ';';
			}
			if ( 'preset_1' !== $preset_color || '1px 1px 2px ' . pen_option_default( 'color_footer_text_shadow' ) !== $text_shadow ) {
				$css .= 'text-shadow:' . $text_shadow . ';';
			}
			$css .= '}
			a#pen_back {
				background:' . $background_right . ';
				color:' . $link_color . ';
				text-shadow:' . $text_shadow . ';
			}';
		}

		$link_color_hover         = esc_html( pen_option_get( 'color_footer_link_hover' ) );
		$link_color_hover_default = pen_option_default( 'color_footer_link_hover' );

		if ( 'preset_1' !== $preset_color || $link_color !== $link_color_default ) {
			$css .= '#pen_footer a,
			#pen_footer .pen_footer_inner .pen_social_networks a {
				color:' . $link_color . ';
			}
			#pen_footer .pen_footer_inner .pen_social_networks a {
				border-color:' . $link_color . ';
			}
			@media only screen and (min-width:728px) {
				#pen_footer .pen_footer_inner #pen_footer_menu li a:after {
					background: -ms-linear-gradient(270deg, rgba(0,0,0,0) 0%,' . $link_color . ' 50%, rgba(0,0,0,0) 100%);
					background: linear-gradient(180deg, rgba(0,0,0,0) 0%,' . $link_color . ' 50%, rgba(0,0,0,0) 100%);
				}
			}';
		}
		if ( 'preset_1' !== $preset_color || $link_color_hover !== $link_color_hover_default ) {
			$css .= '#pen_footer a:focus,
			#pen_footer a:hover,
			#pen_footer a:active,
			#pen_footer .pen_footer_inner .pen_social_networks a:focus,
			#pen_footer .pen_footer_inner .pen_social_networks a:hover,
			#pen_footer .pen_footer_inner .pen_social_networks a:active {
				color:' . $link_color_hover . ';
			}
			#pen_footer .pen_footer_inner .pen_social_networks a:focus,
			#pen_footer .pen_footer_inner .pen_social_networks a:hover,
			#pen_footer .pen_footer_inner .pen_social_networks a:active {
				border-color:' . $link_color_hover . ';
			}';
		}

		if ( pen_option_get( 'phone' ) && pen_option_get( 'phone_footer_display' ) ) {

			$phone_font         = esc_html( pen_option_get( 'font_family_phone_footer' ) );
			$phone_size         = esc_html( pen_option_get( 'font_size_phone_footer' ) );
			$phone_size_default = pen_option_default( 'font_size_phone_footer' );

			if ( 'preset_1' !== $preset_color || 'default' !== $phone_font || $phone_size !== $phone_size_default ) {
				$css .= '#pen_footer .pen_footer_inner .pen_phone a {';
				if ( 'default' !== $phone_font ) {
					$css .= 'font-family:"' . ltrim( $phone_font, 'g:' ) . '", Arial, Helvetica, Sans-serif;
				font-weight:normal;';
				}
				if ( $phone_size !== $phone_size_default ) {
					$css .= 'font-size:' . $phone_size . ';';
				}
				$css .= '}';
			}
		}

		$css = pen_compress_css( $css );

		wp_add_inline_style( 'pen-css', $css );
	}
	add_action( 'wp_enqueue_scripts', 'pen_inline_css_footer' );
}

if ( ! function_exists( 'pen_customize_register' ) ) {
	/**
	 * Add postMessage support for site title and description for the Theme Customizer.
	 *
	 * @param WP_Customize_Manager $wp_customize Theme Customizer object.
	 *
	 * @since Pen 1.0.0
	 * @return void
	 */
	function pen_customize_register( $wp_customize ) {

		pen_customize_contact( $wp_customize );
		pen_customize_color( $wp_customize );
		// pen_customize_typography( $wp_customize );
		pen_customize_header( $wp_customize );
		pen_customize_content_list( $wp_customize );
		pen_customize_content_full( $wp_customize );
		pen_customize_site_layout( $wp_customize );
		pen_customize_front( $wp_customize );
		pen_customize_footer( $wp_customize );
		pen_customize_background( $wp_customize );
		pen_customize_logo( $wp_customize );

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

if ( ! function_exists( 'pen_customizer_preview_js' ) ) {
	/**
	 * Enhancements for the the Theme Customizer.
	 *
	 * @since Pen 1.0.0
	 * @return void
	 */
	function pen_customizer_preview_js() {
		wp_enqueue_script( 'pen-customizer-preview', get_template_directory_uri() . '/assets/js/pen-customize-preview.js', array( 'customize-preview', 'wp-backbone' ), wp_get_theme( 'pen' )->get( 'Version' ), true );
		wp_localize_script(
			'pen-customizer-preview',
			'pen_preview_js',
			array(
				'preset_color' => pen_preset_get( 'color' ),
			)
		);
	}
	add_action( 'customize_preview_init', 'pen_customizer_preview_js' );
}

if ( ! function_exists( 'pen_customizer_main_js' ) ) {
	/**
	 * Binds JS handlers to make Theme Customizer preview reload changes asynchronously.
	 *
	 * @since Pen 1.0.0
	 * @return void
	 */
	function pen_customizer_main_js() {

		$preset_preview = false;
		if ( pen_filter_input( 'GET', 'pen_preview_color' ) || pen_filter_input( 'GET', 'pen_preview_font' ) ) {
			$preset_preview = true;
		}

		wp_enqueue_script( 'pen-customizer-main', get_template_directory_uri() . '/assets/js/pen-customize-main.js', array(), wp_get_theme( 'pen' )->get( 'Version' ), true );
		wp_localize_script(
			'pen-customizer-main',
			'pen_customize_js',
			array(
				'support_url'    => esc_url( PEN_SUPPORT_URL ),
				'preset_preview' => $preset_preview,
				'preset_color'   => str_replace( 'preset_', '', pen_preset_get( 'color' ) ),
				'preset_font'    => str_replace( 'preset_', '', pen_preset_get( 'font_family' ) ),
				'text'           => array(
					'pen_theme'           => __( 'Pen', 'pen' ),
					'support_text'        => __( 'Do you need help?', 'pen' ),
					'support_description' => __( 'Request Support', 'pen' ),
					'theme_specific'      => sprintf(
						"%1\$s\r\n%2\$s",
						__( 'Pen theme only:', 'pen' ),
						__( "This is a part of the 'Pen' theme so if you switch to another theme these settings will be no longer used. The rest of the settings that are here are either parts of the WordPress core or added via plugins and they are available with or without this theme.", 'pen' )
					),
				),
			)
		);
	}
	add_action( 'customize_controls_enqueue_scripts', 'pen_customizer_main_js' );
}