<?php

/**
 * Class LEAPIN_IDs
 *
 * @author LeapIn Corp.
 * @since 1.0.0
 */
class LEAPIN_IDs
{

    /**
     * customizer priority
     */
    private static $PRIORITY = 0;
    private static $PRIORITY_OFFSET = 100;
    /**
     * Css Attributes
     */
    public static $COLOR = 'color';
    public static $BG_COLOR = 'background-color';
    public static $HEIGHT = 'height';
    public static $BOX_SHADOW = 'box-shadow';
    public static $BORDER = 'border';
    public static $BORDER_RADIUS = 'border-radius';
    public static $BORDER_COLOR = 'border-color';
    public static $SR_ONLY = 'sr-only';
    public static $BG_IMAGE = 'background-image';
    public static $FILTER = 'filter';

    /**
     * Theme Transport
     */
    public static $refresh = 'refresh';
    public static $postMessage = 'postMessage';

    /**
     * Layout
     */
    public static $leapin_layouts_home = 'leapin_layouts_home';
    public static $leapin_layouts_general = 'leapin_layouts_general';
    public static $leapin_layouts_bg_color = 'leapin_layouts_bg_color';
    public static $leapin_layouts_drop_shadow = 'leapin_layouts_drop_shadow';
    public static $leapin_layouts_hover_float = 'leapin_layouts_hover_float';

    /**
     * Profile
     */
    public static $leapin_publisher_type = 'leapin_publisher_type';
    public static $leapin_publisher_name = 'leapin_publisher_name';
    public static $leapin_publisher_logo = 'leapin_publisher_logo';
    public static $leapin_publisher_twitter_name = 'leapin_publisher_twitter_name';
    public static $leapin_publisher_fb_url = 'leapin_publisher_fb_url';
    public static $leapin_publisher_gplus_url = 'leapin_publisher_gplus_url';
    public static $leapin_publisher_insta_url = 'leapin_publisher_insta_url';
    public static $leapin_publisher_linkedin_url = 'leapin_publisher_linkedIn_url';
    public static $leapin_publisher_youtube_url = 'leapin_publisher_youtube_url';
    public static $leapin_publisher_website_url = 'leapin_publisher_website_url';
    public static $leapin_publisher_email = 'leapin_publisher_email';
    public static $leapin_publisher_address = 'leapin_publisher_address';
    public static $leapin_publisher_phone_num = 'leapin_publisher_phone_num';

    /**
     * Widget
     */
    public static $leapin_widget_post_read_more_label = 'leapin_widget_post_read_more_label';
    public static $leapin_widget_post_more_label = 'leapin_widget_post_more_label';
    public static $leapin_widget_post_border_radius = 'leapin_widget_post_border_radius';
    public static $leapin_widget_thumb_border_radius = 'leapin_widget_thumb_border_radius';
//    public static $leapin_widget_post_more_bg_color = 'leapin_widget_post_more_bg_color';
    public static $leapin_widget_post_animation = 'leapin_widget_post_animation';
    public static $leapin_widget_rich_post_heading = 'leapin_widget_rich_post_heading';
    public static $leapin_widget_widget_area_heading = 'leapin_widget_widget_area_heading';
    public static $leapin_widget_above_container_bg = 'leapin_widget_above_container_bg';
    public static $leapin_widget_below_container_bg = 'leapin_widget_below_container_bg';

    /**
     * AMP
     */
    public static $leapin_amp_active = 'leapin_amp_active';
    public static $leapin_amp_logo = 'leapin_amp_logo';
    public static $leapin_amp_no_category_ids = 'leapin_no_amp_category_ids';

    /**
     * Pjax
     */
    public static $leapin_pjax_enable = 'leapin_pjax_enable';
    public static $leapin_pjax_prefetch_enable = 'leapin_pjax_prefetch_enable';
    public static $leapin_pjax_min_window_size = 'leapin_pjax_min_window_size';
    public static $leapin_pjax_random_transition_in_group = 'leapin_pjax_random_transition_in_group';
    public static $leapin_seamless_transition = 'leapin_seamless_transition';
    public static $leapin_pjax_transition = 'leapin_pjax_transition';
    public static $leapin_pjax_transition_fallback = 'leapin_pjax_transition_fallback';
    public static $leapin_pjax_transition_bg_color = 'leapin_pjax_transition_bg_color';
    public static $leapin_pjax_transition_overlay_color = 'leapin_pjax_transition_overlay_color';
    public static $leapin_pjax_transition_loading_color = 'leapin_pjax_transition_loading_color';
    public static $leapin_pjax_blacklist_path = 'leapin_pjax_blacklist_path';
    public static $leapin_pjax_blacklist_selector = 'leapin_pjax_blacklist_selector';
    public static $leapin_pjax_replace_tags_in_head = 'leapin_pjax_replace_tags_in_head';
    public static $leapin_pjax_eval_script_in_container = 'leapin_pjax_eval_script_in_container';
    public static $leapin_pjax_disable_extension = 'leapin_pjax_disable_extension';

    /**
     * Analysis
     */
    public static $leapin_tracking_id = 'leapin_tracking_id';
    public static $leapin_tracking_id_for_AMP = 'leapin_tracking_id_for_AMP';

    /**
     * Typography
     */
    public static $leapin_typography_font_stack = 'leapin_typography_font_stack';
    public static $leapin_typography_web_fonts = 'leapin_typography_web_fonts';
    public static $leapin_typography_header = 'leapin_typography_header';
    public static $leapin_typography_logo = 'leapin_typography_logo';
    public static $leapin_typography_body = 'leapin_typography_body';
    public static $leapin_typography_rtl = 'leapin_typography_rtl';
    public static $leapin_typography_link_color = 'leapin_typography_link_color';
    public static $leapin_typography_link_color_hover = 'leapin_typography_link_color_hover';
    public static $leapin_typography_text_color = 'leapin_typography_text_color';

    /**
     * Branding
     */
    public static $leapin_header_menu_background = 'leapin_header_menu_background';
    public static $leapin_header_menu_bg_gradient = 'leapin_header_menu_bg_gradient';
    public static $leapin_logo = 'leapin_logo';
    public static $leapin_logo_mobile = 'leapin_logo_mobile';
    public static $leapin_logo_typo_color = 'leapin_logo_typo_color';
    public static $leapin_logo_typo_color_hover = 'leapin_logo_typo_color_hover';
    public static $leapin_logo_des_color = 'leapin_logo_des_color';
    public static $leapin_hide_site_description = 'leapin_hide_site_description';
    public static $leapin_header_transparent = 'leapin_header_transparent';

    /**
     * Mobile Menu
     */
    public static $leapin_mobile_menu_button_display = 'leapin_mobile_menu_button_display';
    public static $leapin_mobile_menu_button_color = 'leapin_mobile_menu_button_color';
    public static $leapin_mobile_menu_link_color = 'leapin_mobile_menu_link_color';
    public static $leapin_mobile_menu_link_color_hover = 'leapin_mobile_menu_link_color_hover';
    public static $leapin_mobile_menu_bg_color = 'leapin_mobile_menu_bg_color';
    public static $leapin_mobile_menu_bg_image = 'leapin_mobile_menu_bg_image';
    public static $leapin_mobile_menu_blur = 'leapin_mobile_menu_blur';
    public static $leapin_mobile_menu_bg_img = 'leapin_mobile_menu_bg_img';
    public static $leapin_mobile_menu_hide_sns_btns = 'leapin_mobile_menu_hide_sns_btns';
    public static $leapin_mobile_menu_hide_sns_section = 'leapin_mobile_menu_hide_sns_section';
    public static $leapin_mobile_menu_hide_site_name = 'leapin_mobile_menu_hide_site_name';
    public static $leapin_mobile_menu_hide_org_sns_btns = 'leapin_mobile_menu_hide_org_sns_btns';
    public static $leapin_mobile_menu_hide_icon_desc = 'leapin_mobile_menu_hide_icon_desc';
    public static $leapin_mobile_menu_hide_web_url = 'leapin_mobile_menu_hide_web_url';
    public static $leapin_mobile_menu_hide_address = 'leapin_mobile_menu_hide_address';
    public static $leapin_mobile_menu_hide_phone = 'leapin_mobile_menu_hide_phone';
    public static $leapin_mobile_menu_hide_email = 'leapin_mobile_menu_hide_email';
    public static $leapin_mobile_menu_type = 'leapin_mobile_menu_type';

    /**
     * Primary Menu
     */
    public static $leapin_primary_menu_link_color = 'leapin_primary_menu_link_color';
    public static $leapin_primary_menu_link_color_hover = 'leapin_primary_menu_link_color_hover';
    public static $leapin_primary_menu_desc_color = 'leapin_primary_menu_desc_color';
    public static $leapin_primary_menu_accent_color = 'leapin_primary_menu_accent_color';
    public static $leapin_primary_menu_border_bottom_color = 'leapin_primary_menu_border_bottom_color';
    public static $leapin_hide_primary_menu_search_icon = 'leapin_hide_primary_menu_search_icon';
    public static $leapin_primary_heading = 'leapin_primary_heading';
    public static $leapin_primary_heading_2 = 'leapin_primary_heading_2';

    /**
     * Seconcary Menu
     */
    public static $leapin_secondary_menu_type = 'leapin_secondary_menu_type';
    public static $leapin_secondary_menu_upgrade = 'leapin_secondary_menu_upgrade';
    public static $leapin_secondary_menu_link_color = 'leapin_secondary_menu_link_color';
    public static $leapin_secondary_menu_link_color_hover = 'leapin_secondary_menu_link_color_hover';
    public static $leapin_secondary_menu_bg_color = 'leapin_secondary_menu_background_color';
    public static $leapin_secondary_menu_accent_color = 'leapin_secondary_menu_accent_color';
    public static $leapin_secondary_menu_hide_sns = 'leapin_secondary_menu_hide_sns';
    public static $leapin_secondary_menu_display_for_login_user = 'leapin_secondary_menu_use_for_login_user';

    /**
     * Features
     */
    public static $leapin_feature_hb_bg_color = 'leapin_feature_hb_bg_color';
    public static $leapin_feature_hb_bg_color_gradient = 'leapin_feature_hb_bg_color_gradient';
    public static $leapin_feature_hb_hide = 'leapin_feature_hb_hide';
    public static $leapin_feature_hb_font_color = 'leapin_feature_hb_font_color';
    public static $leapin_feature_hb_link_target = 'leapin_feature_hb_link_target';
    public static $leapin_feature_hb_label = 'leapin_feature_hb_label';
    public static $leapin_feature_hb_label_sub = 'leapin_feature_hb_label_sub';
    public static $leapin_feature_hb_icon = 'leapin_feature_hb_icon';
    public static $leapin_feature_hb_href = 'leapin_feature_hb_href';
    public static $leapin_feature_hb_heading = 'leapin_feature_hb_heading';

    /**
     * Single
     */
//    public static $leapin_single_deactivate_amp = 'leapin_single_deactivate_amp';
    public static $leapin_single_heading_hide_section = 'leapin_single_heading_hide_section';
    public static $leapin_hide_author_name_below_title = 'leapin_hide_author_name_below_title';
    public static $leapin_hide_author_section_below_content = 'leapin_hide_author_section_below_content';
    public static $leapin_hide_modified_date_below_title = 'leapin_hide_modified_date_below_title';
    public static $leapin_hide_pagination_below_article = 'leapin_hide_pagination_below_article';
    public static $leapin_hide_category_below_title = 'leapin_hide_category_below_title';
    public static $leapin_hide_category_below_content = 'leapin_hide_category_below_content';
    public static $leapin_hide_tag_below_content = 'leapin_hide_tag_below_content';
    public static $leapin_hide_sns_below_content = 'leapin_below_single_sns_btns_visible';
    public static $leapin_hide_breadcrumb = 'leapin_hide_breadcrumb';
    public static $leapin_single_title_bg_color = 'leapin_single_title_bg_color';
    public static $leapin_single_header_style = 'leapin_single_header_style';
    public static $leapin_single_headlines_style = 'leapin_single_headings_style';
    public static $leapin_single_img_lazy_load = 'leapin_single_img_lazy_load';
    public static $leapin_single_outline_color = 'leapin_single_outline_color';
    public static $leapin_single_default_image = 'leapin_single_default_image';
    public static $leapin_single_sns_message_label = 'leapin_single_sns_message_label';
    public static $leapin_single_title_color = 'leapin_single_title_color';
    public static $leapin_single_link_color = 'leapin_single_link_color';
    public static $leapin_single_link_hover = 'leapin_single_link_hover';

    /**
     * Copyright
     */
    public static $leapin_copyright_color = 'leapin_copyright_color';
    public static $leapin_copyright_background = 'leapin_copyright_background';
    public static $leapin_copyright_links = 'leapin_copyright_links';
    public static $leapin_copyright_links_hover = 'leapin_copyright_links_hover';
    public static $leapin_copyright_text = 'leapin_copyright_text';

    /**
     * Footer Widget
     */
    public static $leapin_footer_column_header = 'leapin_footer_column_header';
    public static $leapin_footer_type = 'leapin_footer_type';
    public static $leapin_footer_v_align = 'leapin_footer_v_align';
    public static $leapin_footer_h_align = 'leapin_footer_h_align';
    public static $leapin_footer_width = 'leapin_footer_width';
    public static $leapin_footer_widget_columns = 'leapin_footer_widget_columns';
    public static $leapin_footer_widget_color = 'leapin_footer_widget_color';
    public static $leapin_footer_widget_title_color = 'leapin_footer_widget_title_color';
    public static $leapin_footer_widget_background = 'leapin_footer_widget_background';
    public static $leapin_footer_widget_color_links = 'leapin_footer_widget_color_link';
    public static $leapin_footer_widget_color_links_hover = 'leapin_footer_widget_color_hover';
    public static $leapin_footer_widget_border_color = 'leapin_footer_widget_border_color';
    public static $leapin_footer_widget_heading = 'leapin_footer_widget_heading';
    public static $leapin_footer_copyright_heading = 'leapin_footer_copyright_heading';
    public static $leapin_footer_bg_image = 'leapin_footer_bg_image';

    /**
     * SNS
     */
    public static $leapin_sns_btns_design = 'leapin_sns_btns_design';
    public static $leapin_sns_btns_shadow = 'leapin_sns_btns_shadow';
    public static $leapin_sns_btns_border = 'leapin_sns_btns_border';
    public static $leapin_sns_circle_mono_color = 'leapin_sns_circle_mono_color';
    public static $leapin_sns_btns_visible_template = 'leapin_sns_btns_visible_template';
    public static $leapin_sns_message_label = 'leapin_sns_message_label';
    public static $leapin_hide_twitter_btn = 'leapin_twitter_btn_visible';
    public static $leapin_hide_facebook_btn = 'leapin_facebook_btn_visible';
    public static $leapin_hide_google_plus_btn = 'leapin_google_plus_btn_visible';
    public static $leapin_hide_hatena_btn = 'leapin_hatena_btn_visible';
    public static $leapin_hide_linkedin_btn = 'leapin_hide_linkedin_btn';
    public static $leapin_hide_pocket_btn = 'leapin_pocket_btn_visible';
    public static $leapin_hide_line_btn = 'leapin_line_btn_visible';
    public static $leapin_hide_feedly_btn = 'leapin_feedly_btn_visible';

    /**
     * User Define Css
     */
    public static $leapin_user_define_css = 'leapin_user_define_css';

    /**
     * Sidebar Widget
     */
    public static $leapin_sidebar_widgets_background = 'leapin_sidebar_widgets_background';
    public static $leapin_sidebar_widget_title_type = 'leapin_sidebar_widget_title_type';
    public static $leapin_sidebar_widget_title_color = 'leapin_sidebar_widget_title_color';
//    public static $leapin_sidebar_widget_color = 'leapin_sidebar_widget_color';
    public static $leapin_sidebar_widget_title_theme_color = 'leapin_sidebar_widget_title_theme_color';
    public static $leapin_sidebar_widget_title_border_color = 'leapin_sidebar_widget_title_border_color';
    public static $leapin_sidebar_widget_title_border_radius = 'leapin_sidebar_widget_title_border_radius';
    public static $leapin_sidebar_widget_border_radius = 'leapin_sidebar_widget_border_radius';
    public static $leapin_sidebar_links_color = 'leapin_sidebar_links_color';
    public static $leapin_sidebar_links_color_hover = 'leapin_sidebar_links_color_hover';
    public static $leapin_sidebar_widgets_hover_underline_color = 'leapin_sidebar_widgets_outline';

    /**
     * Other
     */
    public static $leapin_stop_removing_tags_in_text_editor = 'leapin_stop_removing_tags_in_text_editor';
    public static $leapin_stop_async_jquery_loading = 'leapin_stop_async_jquery_loading';
    public static $leapin_cleanup_wp_defaults = 'leapin_cleanup_wp_defaults';
    public static $leapin_stop_html_compression = 'leapin_stop_html_compression';
    public static $leapin_other_address_bar_color = 'leapin_other_address_bar_color';
    public static $leapin_other_loading_dots_color = 'leapin_other_loading_dots_color';
    public static $leapin_other_third_party_color = 'leapin_other_third_party_color';
    public static $leapin_other_slide_overlay_color = 'leapin_other_slide_overlay_color';
    public static $leapin_stop_injecting_inline_css = 'leapin_stop_injecting_inline_css';
    public static $leapin_load_minimum_scripts_on_each_page = 'leapin_load_minimum_scripts_on_each_page';
    public static $leapin_dummy_heading_title = 'leapin_dummy_heading_title';

    /**
     * Promotion
     */
    public static $leapin_promotion = 'leapin_promotion';

    /**
     * Wordpress Default Panel
     */
    public static $wp_custom_background_color = 'background_color';
    public static $leapin_custom_header_mobile_height = 'leapin_custom_header_mobile_height';
    public static $leapin_custom_header_height = 'leapin_custom_header_height';
    public static $leapin_custom_header_overlay_color = 'leapin_custom_header_overlay_color';
    public static $leapin_custom_header_text_color = 'leapin_custom_header_color';
    public static $leapin_custom_header_link_color = 'leapin_custom_header_link_color';
    public static $leapin_custom_header_separator_color = 'leapin_custom_header_separator_color';

    /**
     * Help
     */
    public static $leapin_help_links = 'leapin_help_links';
    public static $leapin_help_plugin = 'leapin_help_plugin';
    public static $leapin_help_contact = 'leapin_help_contact';

    /**
     * post metas
     */
    public static $leapin_meta_box_design = 'leapin_meta_box_design';
    public static $leapin_meta_box_functionality = 'leapin_meta_box_functionality';
    public static $leapin_is_nolazy_load_img_key = 'leapin_is_nolazy_load_img';
    public static $leapin_header_style_key = 'leapin_header_style';
    public static $leapin_headlines_style_key = 'leapin_headlines_style_key';
    public static $leapin_layouts_single_key = 'leapin_layouts_single';
    public static $leapin_is_noamp_key = 'leapin_is_noamp';
    public static $leapin_read_more_label_key = 'leapin_read_more_label';
    public static $leapin_is_nosns_key = 'leapin_is_nosns';
    public static $leapin_is_nofooter_key = 'leapin_is_nofooter_key';
    public static $leapin_stop_autop_key = 'leapin_stop_autop';

    /**
     * Settings
     */
//    public static $leapin_enqueue_info = 'leapin_enqueue_info';

    public static function get_css_selector()
    {
        $css_selector = [];

        /**
         * Layout
         */
        $css_selector[self::$leapin_layouts_bg_color] = [['.barba-container, .header', self::$BG_COLOR]];

        /**
         * Branding
         */
        $css_selector[self::$leapin_hide_site_description] = [['.site-description', self::$SR_ONLY]];
        $css_selector[self::$leapin_logo_typo_color] = [['.logo-typo a', self::$COLOR]];
        $css_selector[self::$leapin_logo_typo_color_hover] = [['header .logo-typo a:hover', self::$COLOR]];
        $css_selector[self::$leapin_logo_des_color] = [['.site-description', self::$COLOR]];

        /**
         * Widget
         */
        $css_selector[self::$leapin_widget_post_border_radius] = [['.card__wrap, .sidebar .card__thumbnail', self::$BORDER_RADIUS]];
        $css_selector[self::$leapin_widget_thumb_border_radius] = [['.card__thumbnail', self::$BORDER_RADIUS]];
        $css_selector[self::$leapin_widget_above_container_bg] = [['.above_container', self::$BG_COLOR]];
        $css_selector[self::$leapin_widget_below_container_bg] = [['.below_container', self::$BG_COLOR]];

        /**
         * Pjax
         */
        $css_selector[self::$leapin_pjax_transition_bg_color] = [['#barba-wrapper', self::$BG_COLOR]];
        $css_selector[self::$leapin_pjax_transition_overlay_color] = [['.barba-container.moving::after', self::$BG_COLOR]];
        $css_selector[self::$leapin_pjax_transition_loading_color] = [['.spinner-container > .three-dots-spinner > div', self::$BG_COLOR]];

        /**
         * Typography
         */
        $css_selector[self::$leapin_typography_link_color] = [['a', self::$COLOR]];
        $css_selector[self::$leapin_typography_link_color_hover] = [['a:hover, a:focus', self::$COLOR]];

        /**
         * Primary Menu
         */
        $css_selector[self::$leapin_header_menu_background] = [['.main-header, body.home .main-header.scroll-down', self::$BG_COLOR]];
        $css_selector[self::$leapin_header_menu_bg_gradient] = [['.main-header, body.home .main-header.scroll-down', self::$BG_IMAGE]];
        $css_selector[self::$leapin_primary_menu_link_color] = [['ul.main-nav>li>a.leapin-nav-desc>span.main, ul.main-nav>li>a>span.main, .inner-header .searchform label, .site-description', self::$COLOR]];
        $css_selector[self::$leapin_primary_menu_link_color_hover] = [['ul.main-nav a.leapin-nav-desc:hover>span.main, ul.main-nav li>a:hover>span.main, header .logo h1 a:hover, header .logo p a:hover', self::$COLOR]];
        $css_selector[self::$leapin_primary_menu_desc_color] = [['ul.main-nav>li>a.leapin-nav-desc>span.desc', self::$COLOR]];
        $css_selector[self::$leapin_primary_menu_accent_color] = [['ul.main-nav>li>a.leapin-nav-desc::after', self::$BG_COLOR]];
        $css_selector[self::$leapin_primary_menu_border_bottom_color] = [['.main-header.rel', 'border-bottom']];
        $css_selector[self::$leapin_hide_primary_menu_search_icon] = [['.header .inner-header .searchform', self::$SR_ONLY]];

        /**
         * Secondary Menu
         */
        $css_selector[self::$leapin_secondary_menu_type] = [['ul.secondary-nav', '']];
        $css_selector[self::$leapin_secondary_menu_link_color] = [['#secondary-nav .icon-link, .secondary-nav.rich > li > a, .secondary-nav.rich > li > a::after, .secondary-nav.simple > li > a::after, .secondary-nav.simple > li > a', self::$COLOR]];
//        $css_selector[self::$leapin_secondary_menu_link_color] = [['ul.secondary-nav.rich > li > a, ul.secondary-nav.rich > li > a::after, ul.secondary-nav.simple li > a::after, ul.secondary-nav.simple li > a', self::$COLOR]];
        $css_selector[self::$leapin_secondary_menu_link_color_hover] = [['#secondary-nav .icon-link:hover, .secondary-nav.rich > li:hover > a, .secondary-nav.rich > li:hover > a::after, .secondary-nav.simple > li:hover > a::after, .secondary-nav.simple > li:hover > a', self::$COLOR]];
//        $css_selector[self::$leapin_secondary_menu_link_color_hover] = [['ul.secondary-nav.rich > li:hover > a, ul.secondary-nav.rich > li:hover > a::after, ul.secondary-nav.simple li:hover > a::after, ul.secondary-nav.simple li:hover > a', self::$COLOR]];
        $css_selector[self::$leapin_secondary_menu_bg_color] = [['#secondary-nav', self::$BG_COLOR]];
        $css_selector[self::$leapin_secondary_menu_accent_color] = [['#secondary-slide-line', 'background-color']];
        $css_selector[self::$leapin_secondary_menu_hide_sns] = [['#secondary-nav .sns-links', self::$SR_ONLY]];

        /**
         * Mobile Menu
         */
        $css_selector[self::$leapin_mobile_menu_button_display] = [['.mobile-nav__button', 'all']];
        $css_selector[self::$leapin_mobile_menu_button_color] = [['.mobile-nav__icon, .mobile-nav__icon::after, .mobile-nav__icon::before', self::$BG_COLOR]];
        $css_selector[self::$leapin_mobile_menu_link_color] = [['.mobile-nav__cr a', self::$COLOR]];
        $css_selector[self::$leapin_mobile_menu_link_color_hover] = [['.mobile-nav__cr a:hover, .mobile-nav__cr a:focus', self::$COLOR]];
        $css_selector[self::$leapin_mobile_menu_bg_image] = [['body.mobile-init, .load-mobile-menu-bg', self::$BG_IMAGE]];
        $css_selector[self::$leapin_mobile_menu_blur] = [['.mobile-menu-left #container', self::$FILTER]];
        $css_selector[self::$leapin_mobile_menu_hide_sns_btns] = [['#sns-mobile-menu', self::$SR_ONLY]];
        if(!defined('LEAPIN_CUSTOMIZE_JS')){
            if(LEAPIN_Theme_Mod::get_instance()->get(LEAPIN_IDs::$leapin_mobile_menu_type, LEAPIN_Theme_Mod::$default_leapin_mobile_menu_type) === "drawer"){
                $css_selector[self::$leapin_mobile_menu_bg_color] = [['.mobile-nav__cr', self::$BG_COLOR],['.mobile-menu-left .mobile-nav__cr', self::$BOX_SHADOW]];
            }else{
                $css_selector[self::$leapin_mobile_menu_bg_color] = [['body.mobile-init::before', self::$BG_COLOR]];
            }
        }


        /**
         * Features
         */
        $css_selector[self::$leapin_feature_hb_font_color] = [['.header-feature-button, .header-feature-button:hover, .header-feature-button:focus', self::$COLOR]];
        $css_selector[self::$leapin_feature_hb_bg_color_gradient] = [['.header-feature-button', self::$BG_IMAGE]];
        $css_selector[self::$leapin_feature_hb_bg_color] = [['.header-feature-button', self::$BG_COLOR]];
        $css_selector[self::$leapin_feature_hb_hide] = [['.header-feature-button', self::$SR_ONLY]];

        /**
         * Single
         */
        $css_selector[self::$leapin_single_title_bg_color] = [['.article-header.fullwidth figure::after', self::$BG_COLOR], ['.article-header.default .title-container', self::$BG_COLOR]];
//        $css_selector[self::$leapin_single_outline_color] = [['article.single', self::$BOX_SHADOW]];
        $css_selector[self::$leapin_hide_author_name_below_title] = [['article.single header .author', self::$SR_ONLY]];
        $css_selector[self::$leapin_hide_author_section_below_content] = [['article.single footer .author', self::$SR_ONLY]];
        $css_selector[self::$leapin_hide_modified_date_below_title] = [['article.single header .updated,article.single header .updated-icon', self::$SR_ONLY]];
        $css_selector[self::$leapin_hide_pagination_below_article] = [['article.single footer .neighbor-posts', self::$SR_ONLY]];
        $css_selector[self::$leapin_hide_category_below_title] = [['article.single header .entry-category,article.single header .category-icon', self::$SR_ONLY]];
        $css_selector[self::$leapin_hide_category_below_content] = [['article.single footer .entry-categories', self::$SR_ONLY]];
        $css_selector[self::$leapin_hide_tag_below_content] = [['article.single footer .entry-tags', self::$SR_ONLY]];
        $css_selector[self::$leapin_hide_sns_below_content] = [['article.single footer #sns-end-of-content', self::$SR_ONLY]];
        $css_selector[self::$leapin_hide_breadcrumb] = [['#breadcrumbs', self::$SR_ONLY]];
        $css_selector[self::$leapin_typography_text_color] = [['body', self::$COLOR]];
        $css_selector[self::$leapin_single_title_color] = [
            ['article.single h2::before,article.single h2::after,article.single h4::before,article.single h6::after', self::$BG_COLOR],
            ['article.single h5', self::$BG_COLOR]
        ];
//        $css_selector[self::$leapin_single_link_color] = [['article.single a', self::$COLOR]];
//        $css_selector[self::$leapin_single_link_hover] = [['article.single a:hover', self::$COLOR]];

        /**
         * Sidebar Widget
         */
        $css_selector[self::$leapin_sidebar_widgets_hover_underline_color] = [
            ['.sidebar li::after', self::$BG_COLOR],
            ['.sidebar .widget.toc_widget .toc_widget_list li a.current', self::$COLOR],
            ['.sidebar table a::before', self::$BG_COLOR]
        ];
//        $css_selector[self::$leapin_sidebar_widgets_background] = [['article.single header .title-container', self::$BG_COLOR]];
        $css_selector[self::$leapin_sidebar_widget_title_color] = [['.sidebar .widget-title', self::$COLOR]];
//        $css_selector[self::$leapin_sidebar_widget_color] = [['.sidebar *', self::$COLOR]];
        $css_selector[self::$leapin_sidebar_widget_title_border_color] = [['.sidebar .widget-title', self::$BORDER]];
        $css_selector[self::$leapin_sidebar_widget_title_border_radius] = [['.sidebar .widget-title', self::$BORDER_RADIUS]];
        $css_selector[self::$leapin_sidebar_widget_border_radius] = [['.sidebar .widget > ul,.sidebar .widget_media_image img,.sidebar .widget .card__w ,.sidebar .widget > div', self::$BORDER_RADIUS]];
        $css_selector[self::$leapin_sidebar_links_color] = [['.sidebar .widget a', self::$COLOR]];
        $css_selector[self::$leapin_sidebar_links_color_hover] = [['.sidebar .widget a:hover', self::$COLOR]];

        /**
         * Copyright
         */
        $css_selector[self::$leapin_copyright_color] = [['#leapin_footer_copytext p, #leapin_footer_copytext span', self::$COLOR]];
        $css_selector[self::$leapin_copyright_background] = [['#leapin_footer_copytext', self::$BG_COLOR]];
        $css_selector[self::$leapin_copyright_links] = [['#leapin_footer_copytext a', self::$COLOR]];
        $css_selector[self::$leapin_copyright_links_hover] = [['#leapin_footer_copytext a:hover', self::$COLOR]];
//        $css_selector[self::$leapin_copyright_text] = [['.sidebar .widget a:hover', self::$COLOR]];

        /**
         * Footer Widget
         */
//        $css_selector[self::$leapin_footer_widget_columns] = [['#leapin_footer_widget .footer-widget', 'flex-basis']];
        $css_selector[self::$leapin_footer_widget_color] = [['.footer-widget p,.footer-widget td,.footer-widget th,.footer-widget caption,.footer-widget li,.footer-widget i, .footer-widget span', self::$COLOR]];
        $css_selector[self::$leapin_footer_widget_title_color] = [
            ['.footer-widget .widget-title', self::$COLOR],
            ['.footer-widget .widget-title::before', self::$BG_COLOR]
        ];
        $css_selector[self::$leapin_footer_widget_background] = [['#leapin_footer_widget', self::$BG_COLOR]];
        $css_selector[self::$leapin_footer_widget_color_links] = [['.footer-widget a', self::$COLOR]];
        $css_selector[self::$leapin_footer_widget_color_links_hover] = [['.footer-widget a:hover', self::$COLOR]];
        $css_selector[self::$leapin_footer_widget_border_color] = [['.footer-widget .footer-widget', 'border-right-color']];

        /**
         * Sns
         */
        $css_selector[self::$leapin_sns_circle_mono_color] = [['#sns-sidebar .btn-icon-link .social-icon::before', self::$COLOR], ['#sns-sidebar .btn-icon-link', self::$BORDER_COLOR], ['#sns-sidebar.circle-mono ul.snsb li a::before', self::$BG_COLOR]];
        $css_selector[self::$leapin_sns_btns_shadow] = [['#sns-sidebar .btn-icon-link', self::$BOX_SHADOW]];
        $css_selector[self::$leapin_sns_btns_border] = [['#sns-sidebar.circle ul.snsb li a, #sns-sidebar.circle-mono ul.snsb li a', self::$BORDER]];
        $css_selector[self::$leapin_hide_twitter_btn] = [['.twitter-btn-icon', self::$SR_ONLY]];
        $css_selector[self::$leapin_hide_facebook_btn] = [['.facebook-btn-icon', self::$SR_ONLY]];
        $css_selector[self::$leapin_hide_google_plus_btn] = [['.google-plus-btn-icon', self::$SR_ONLY]];
        $css_selector[self::$leapin_hide_hatena_btn] = [['.hatena-btn-icon', self::$SR_ONLY]];
        $css_selector[self::$leapin_hide_linkedin_btn] = [['.linkedin-btn-icon', self::$SR_ONLY]];
        $css_selector[self::$leapin_hide_pocket_btn] = [['.pocket-btn-icon', self::$SR_ONLY]];
        $css_selector[self::$leapin_hide_line_btn] = [['.line-btn-icon', self::$SR_ONLY]];
        $css_selector[self::$leapin_hide_feedly_btn] = [['.feedly-btn-icon', self::$SR_ONLY]];

        /**
         * Other
         */
        $css_selector[self::$leapin_other_loading_dots_color] = [['.three-dots-spinner > div', self::$BG_COLOR]];
        $css_selector[self::$leapin_other_slide_overlay_color] = [['.overlay_slide::after', self::$BG_COLOR]];
        $css_selector[self::$leapin_other_third_party_color] = [['.woocommerce-store-notice, p.demo_store, .woocommerce #respond input#submit.alt, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt', self::$BG_COLOR],
            ['.woocommerce #respond input#submit.alt:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover', self::$BG_COLOR],
            ['.star-rating > span', self::$COLOR]];

        /**
         * WP default
         */
        $css_selector[LEAPIN_IDs::$wp_custom_background_color] = [['.barba-container', self::$BG_COLOR]];
//        $css_selector[LEAPIN_IDs::$leapin_custom_header_mobile_height] = [['#wp-custom-header', self::$HEIGHT]];
//        $css_selector[LEAPIN_IDs::$leapin_custom_header_height] = [['#wp-custom-header', self::$HEIGHT]];
        $css_selector[LEAPIN_IDs::$leapin_custom_header_overlay_color] = [
            ['#wp-custom-header .card__content::after', self::$BG_COLOR],
            ['#wp-custom-header .card__content::after', self::$BOX_SHADOW]
        ];
//        $css_selector[LEAPIN_IDs::$leapin_custom_header_overlay_color] = [['#wp-custom-header::before, #wp-custom-header .swiper-slide::before', self::$BG_COLOR]];
//        $css_selector[LEAPIN_IDs::$leapin_custom_header_text_color] = [['#wp-custom-header', self::$COLOR]];
        $css_selector[LEAPIN_IDs::$leapin_custom_header_link_color] = [['#wp-custom-header .card__more', self::$BG_COLOR]];
//        $css_selector[LEAPIN_IDs::$leapin_custom_header_separator_color] = [['#wp-custom-header h2::before', self::$BG_COLOR]];

        return $css_selector;
    }

    public static function initPriority()
    {
        self::$PRIORITY = 0;
    }

    public static function getPriority()
    {
        return self::$PRIORITY++ * 10 + self::$PRIORITY_OFFSET;
    }
}
