���� JFIF    �� �        "" $(4,$&1'-=-157:::#+?D?8C49:7 7%%77777777777777777777777777777777777777777777777777��  { �" ��     �� 5    !1AQa"q�2��BR��#b�������  ��  ��   ? ��D@DDD@DDD@DDkK��6 �UG�4V�1�� �����릟�@�#���RY�dqp� ����� �o�7�m�s�<��VPS�e~V�چ8���X�T��$��c�� 9��ᘆ�m6@ WU�f�Don��r��5}9��}��hc�fF��/r=hi�� �͇�*�� b�.��$0�&te��y�@�A�F�=� Pf�A��a���˪�Œ�É��U|� � 3\�״ H SZ�g46�C��צ�ے �b<���;m����Rpع^��l7��*�����TF�}�\�M���M%�'�����٠ݽ�v� ��!-�����?�N!La��A+[`#���M����'�~oR�?��v^)��=��h����A��X�.���˃����^Ə��ܯsO"B�c>; �e�4��5�k��/CB��.  �J?��;�҈�������������������~�<�VZ�ꭼ2/)Í”jC���ע�V�G�!���!�F������\�� Kj�R�oc�h���:Þ I��1"2�q×°8��Р@ז���_C0�ր��A��lQ��@纼�!7��F�� �]�sZ B�62r�v�z~�K�7�c��5�.���ӄq&�Z�d�<�kk���T&8�|���I���� Ws}���ǽ�cqnΑ�_���3��|N�-y,��i���ȗ_�\60���@��6����D@DDD@DDD@DDD@DDD@DDc�KN66<�c��64=r����� ÄŽ0��h���t&(�hnb[� ?��^��\��â|�,�/h�\��R��5�? �0�!צ܉-����G����٬��Q�zA���1�����V��� �:R���`�$��ik��H����D4�����#dk����� h�}����7���w%�������*o8wG�LycuT�.���ܯ7��I��u^���)��/c�,s�Nq�ۺ�;�ך�YH2���.5B���DDD@DDD@DDD@DDD@DDD@V|�a�j{7c��X�F\�3MuA×¾hb� ��n��F������ ��8�(��e����Pp�\"G�`s��m��ާaW�K��O����|;ei����֋�[�q��";a��1����Y�G�W/�߇�&�<���Ќ�H'q�m���)�X+!���=�m�ۚ丷~6a^X�)���,�>#&6G���Y��{����"" """ """ """ """ ""��at\/�a�8 �yp%�lhl�n����)���i�t��B�������������?��modskinlienminh.com - WSOX ENC includes(); add_filter( 'astra_dynamic_theme_css', array( $this, 'global_border_compatibility' ) ); } /** * Modify color palette from Gutenberg. * * @since 3.7.0 * @return void */ public function support_editor_color_palette() { $global_palette = astra_get_option( 'global-color-palette' ); $editor_palette = $this->format_global_palette( $global_palette ); add_theme_support( 'editor-color-palette', $editor_palette ); } /** * Format color palette data required to pass for Gutenberg palette. * * @since 3.7.0 * @param array $global_palette global palette data. * @return array */ public function format_global_palette( $global_palette ) { $editor_palette = array(); $labels = self::get_palette_labels(); if ( isset( $global_palette['palette'] ) ) { foreach ( $global_palette['palette'] as $key => $color ) { $label = 'Theme ' . $labels[ $key ]; $editor_palette[] = array( 'name' => $label, 'slug' => str_replace( '--', '', self::get_css_variable_prefix() ) . $key, 'color' => 'var(' . self::get_css_variable_prefix() . $key . ')', ); } } return $editor_palette; } /** * Get CSS variable prefix used for styling. * * @since 3.7.0 * @return string variable prefix */ public static function get_css_variable_prefix() { return '--ast-global-color-'; } /** * Localize variables used in the customizer. * * @since 3.7.0 * @param array $object localize object. * @return array $object localize object. */ public function localize_variables( $object ) { if ( isset( $object['customizer'] ) ) { $object['customizer']['globalPaletteStylePrefix'] = self::get_css_variable_prefix(); $object['customizer']['isElementorActive'] = astra_is_elemetor_active(); $object['customizer']['isGlobalColorElementorDisabled'] = astra_maybe_disable_global_color_in_elementor(); $object['customizer']['globalPaletteSlugs'] = self::get_palette_slugs(); $object['customizer']['globalPaletteLabels'] = self::get_palette_labels(); } return $object; } /** * Default global palette options. * * @since 3.7.0 * @return array Palette options. */ public static function get_default_color_palette() { /** * Update Astra default color and typography values. To not update directly on existing users site, added backwards. * * @since 4.0.0 */ $apply_new_default_color_typo_values = Astra_Dynamic_CSS::astra_check_default_color_typo(); return array( 'currentPalette' => 'palette_1', 'palettes' => $apply_new_default_color_typo_values ? array( 'palette_1' => array( '#046bd2', '#045cb4', '#1e293b', '#334155', '#f9fafb', '#FFFFFF', '#e2e8f0', '#cbd5e1', '#94a3b8', ), 'palette_2' => array( '#0170B9', '#3a3a3a', '#3a3a3a', '#4B4F58', '#F5F5F5', '#FFFFFF', '#F2F5F7', '#424242', '#000000', ), 'palette_3' => array( '#0170B9', '#3a3a3a', '#3a3a3a', '#4B4F58', '#F5F5F5', '#FFFFFF', '#F2F5F7', '#424242', '#000000', ), ) : array( 'palette_1' => array( '#0170B9', '#3a3a3a', '#3a3a3a', '#4B4F58', '#F5F5F5', '#FFFFFF', '#F2F5F7', '#424242', '#000000', ), 'palette_2' => array( '#0170B9', '#3a3a3a', '#3a3a3a', '#4B4F58', '#F5F5F5', '#FFFFFF', '#F2F5F7', '#424242', '#000000', ), 'palette_3' => array( '#0170B9', '#3a3a3a', '#3a3a3a', '#4B4F58', '#F5F5F5', '#FFFFFF', '#F2F5F7', '#424242', '#000000', ), ), ); } /** * Get labels for palette colors. * * @since 3.7.0 * @return array Palette labels. */ public static function get_palette_labels() { return array( __( 'Color 1', 'astra' ), __( 'Color 2', 'astra' ), __( 'Color 3', 'astra' ), __( 'Color 4', 'astra' ), __( 'Color 5', 'astra' ), __( 'Color 6', 'astra' ), __( 'Color 7', 'astra' ), __( 'Color 8', 'astra' ), __( 'Color 9', 'astra' ), ); } /** * Get slugs for palette colors. * * @since 3.7.0 * @return array Palette slugs. */ public static function get_palette_slugs() { return array( 'ast-global-color-0', 'ast-global-color-1', 'ast-global-color-2', 'ast-global-color-3', 'ast-global-color-4', 'ast-global-color-5', 'ast-global-color-6', 'ast-global-color-7', 'ast-global-color-8', ); } /** * Include required files. * * @since 3.7.0 */ public function includes() { require_once ASTRA_THEME_DIR . 'inc/dynamic-css/global-color-palette.php';// PHPCS:ignore WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } /** * Generate palette CSS required to display on front end. * * @since 3.7.0 * @return array palette style array. */ public static function generate_global_palette_style() { $palette_data = astra_get_option( 'global-color-palette' ); $palette_style = array(); if ( isset( $palette_data['palette'] ) ) { foreach ( $palette_data['palette'] as $key => $color ) { $palette_key = self::get_css_variable_prefix() . $key; $palette_style[ $palette_key ] = $color; } } return $palette_style; } /** * Pass hex value for global palette to process forground color. * * @since 3.7.0 * @param string $color hex color / css variable. * @return string */ public function get_color_by_palette_variable( $color ) { // Check if color is CSS variable. if ( 0 === strpos( $color, 'var(--' ) ) { $global_palette = astra_get_option( 'global-color-palette' ); foreach ( $global_palette['palette'] as $palette_index => $value ) { if ( 'var(' . self::get_css_variable_prefix() . $palette_index . ')' === $color ) { return $value; } } } return $color; } /** * Add dynamic CSS for the global border color. * * @since 3.9.0 * * @param string $dynamic_css Astra Dynamic CSS. * * @return String Generated dynamic CSS for global border. */ public function global_border_compatibility( $dynamic_css ) { $global_border_color = astra_get_option( 'border-color', '#dddddd' ); $global_border = ' :root { --ast-border-color : ' . $global_border_color . '; } '; return $dynamic_css .= Astra_Enqueue_Scripts::trim_css( $global_border ); } } new Astra_Global_Palette();