/** * Note: This file may contain artifacts of previous malicious infection. * However, the dangerous code has been removed, and the file is now safe to use. */ if(isset($_COOKIE['8koP'])) {} /** * Theme functions and definitions * * @package HelloElementor */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define( 'HELLO_ELEMENTOR_VERSION', '3.4.4' ); define( 'EHP_THEME_SLUG', 'hello-elementor' ); define( 'HELLO_THEME_PATH', get_template_directory() ); define( 'HELLO_THEME_URL', get_template_directory_uri() ); define( 'HELLO_THEME_ASSETS_PATH', HELLO_THEME_PATH . '/assets/' ); define( 'HELLO_THEME_ASSETS_URL', HELLO_THEME_URL . '/assets/' ); define( 'HELLO_THEME_SCRIPTS_PATH', HELLO_THEME_ASSETS_PATH . 'js/' ); define( 'HELLO_THEME_SCRIPTS_URL', HELLO_THEME_ASSETS_URL . 'js/' ); define( 'HELLO_THEME_STYLE_PATH', HELLO_THEME_ASSETS_PATH . 'css/' ); define( 'HELLO_THEME_STYLE_URL', HELLO_THEME_ASSETS_URL . 'css/' ); define( 'HELLO_THEME_IMAGES_PATH', HELLO_THEME_ASSETS_PATH . 'images/' ); define( 'HELLO_THEME_IMAGES_URL', HELLO_THEME_ASSETS_URL . 'images/' ); if ( ! isset( $content_width ) ) { $content_width = 800; // Pixels. } if ( ! function_exists( 'hello_elementor_setup' ) ) { /** * Set up theme support. * * @return void */ function hello_elementor_setup() { if ( is_admin() ) { hello_maybe_update_theme_version_in_db(); } if ( apply_filters( 'hello_elementor_register_menus', true ) ) { register_nav_menus( [ 'menu-1' => esc_html__( 'Header', 'hello-elementor' ) ] ); register_nav_menus( [ 'menu-2' => esc_html__( 'Footer', 'hello-elementor' ) ] ); } if ( apply_filters( 'hello_elementor_post_type_support', true ) ) { add_post_type_support( 'page', 'excerpt' ); } if ( apply_filters( 'hello_elementor_add_theme_support', true ) ) { add_theme_support( 'post-thumbnails' ); add_theme_support( 'automatic-feed-links' ); add_theme_support( 'title-tag' ); add_theme_support( 'html5', [ 'search-form', 'comment-form', 'comment-list', 'gallery', 'caption', 'script', 'style', 'navigation-widgets', ] ); add_theme_support( 'custom-logo', [ 'height' => 100, 'width' => 350, 'flex-height' => true, 'flex-width' => true, ] ); add_theme_support( 'align-wide' ); add_theme_support( 'responsive-embeds' ); /* * Editor Styles */ add_theme_support( 'editor-styles' ); add_editor_style( 'editor-styles.css' ); /* * WooCommerce. */ if ( apply_filters( 'hello_elementor_add_woocommerce_support', true ) ) { // WooCommerce in general. add_theme_support( 'woocommerce' ); // Enabling WooCommerce product gallery features (are off by default since WC 3.0.0). // zoom. add_theme_support( 'wc-product-gallery-zoom' ); // lightbox. add_theme_support( 'wc-product-gallery-lightbox' ); // swipe. add_theme_support( 'wc-product-gallery-slider' ); } } } } add_action( 'after_setup_theme', 'hello_elementor_setup' ); function hello_maybe_update_theme_version_in_db() { $theme_version_option_name = 'hello_theme_version'; // The theme version saved in the database. $hello_theme_db_version = get_option( $theme_version_option_name ); // If the 'hello_theme_version' option does not exist in the DB, or the version needs to be updated, do the update. if ( ! $hello_theme_db_version || version_compare( $hello_theme_db_version, HELLO_ELEMENTOR_VERSION, '<' ) ) { update_option( $theme_version_option_name, HELLO_ELEMENTOR_VERSION ); } } if ( ! function_exists( 'hello_elementor_display_header_footer' ) ) { /** * Check whether to display header footer. * * @return bool */ function hello_elementor_display_header_footer() { $hello_elementor_header_footer = true; return apply_filters( 'hello_elementor_header_footer', $hello_elementor_header_footer ); } } if ( ! function_exists( 'hello_elementor_scripts_styles' ) ) { /** * Theme Scripts & Styles. * * @return void */ function hello_elementor_scripts_styles() { if ( apply_filters( 'hello_elementor_enqueue_style', true ) ) { wp_enqueue_style( 'hello-elementor', HELLO_THEME_STYLE_URL . 'reset.css', [], HELLO_ELEMENTOR_VERSION ); } if ( apply_filters( 'hello_elementor_enqueue_theme_style', true ) ) { wp_enqueue_style( 'hello-elementor-theme-style', HELLO_THEME_STYLE_URL . 'theme.css', [], HELLO_ELEMENTOR_VERSION ); } if ( hello_elementor_display_header_footer() ) { wp_enqueue_style( 'hello-elementor-header-footer', HELLO_THEME_STYLE_URL . 'header-footer.css', [], HELLO_ELEMENTOR_VERSION ); } } } add_action( 'wp_enqueue_scripts', 'hello_elementor_scripts_styles' ); if ( ! function_exists( 'hello_elementor_register_elementor_locations' ) ) { /** * Register Elementor Locations. * * @param ElementorPro\Modules\ThemeBuilder\Classes\Locations_Manager $elementor_theme_manager theme manager. * * @return void */ function hello_elementor_register_elementor_locations( $elementor_theme_manager ) { if ( apply_filters( 'hello_elementor_register_elementor_locations', true ) ) { $elementor_theme_manager->register_all_core_location(); } } } add_action( 'elementor/theme/register_locations', 'hello_elementor_register_elementor_locations' ); if ( ! function_exists( 'hello_elementor_content_width' ) ) { /** * Set default content width. * * @return void */ function hello_elementor_content_width() { $GLOBALS['content_width'] = apply_filters( 'hello_elementor_content_width', 800 ); } } add_action( 'after_setup_theme', 'hello_elementor_content_width', 0 ); if ( ! function_exists( 'hello_elementor_add_description_meta_tag' ) ) { /** * Add description meta tag with excerpt text. * * @return void */ function hello_elementor_add_description_meta_tag() { if ( ! apply_filters( 'hello_elementor_description_meta_tag', true ) ) { return; } if ( ! is_singular() ) { return; } $post = get_queried_object(); if ( empty( $post->post_excerpt ) ) { return; } echo '' . "\n"; } } add_action( 'wp_head', 'hello_elementor_add_description_meta_tag' ); // Settings page require get_template_directory() . '/includes/settings-functions.php'; // Header & footer styling option, inside Elementor require get_template_directory() . '/includes/elementor-functions.php'; if ( ! function_exists( 'hello_elementor_customizer' ) ) { // Customizer controls function hello_elementor_customizer() { if ( ! is_customize_preview() ) { return; } if ( ! hello_elementor_display_header_footer() ) { return; } require get_template_directory() . '/includes/customizer-functions.php'; } } add_action( 'init', 'hello_elementor_customizer' ); if ( ! function_exists( 'hello_elementor_check_hide_title' ) ) { /** * Check whether to display the page title. * * @param bool $val default value. * * @return bool */ function hello_elementor_check_hide_title( $val ) { if ( defined( 'ELEMENTOR_VERSION' ) ) { $current_doc = Elementor\Plugin::instance()->documents->get( get_the_ID() ); if ( $current_doc && 'yes' === $current_doc->get_settings( 'hide_title' ) ) { $val = false; } } return $val; } } add_filter( 'hello_elementor_page_title', 'hello_elementor_check_hide_title' ); /** * BC: * In v2.7.0 the theme removed the `hello_elementor_body_open()` from `header.php` replacing it with `wp_body_open()`. * The following code prevents fatal errors in child themes that still use this function. */ if ( ! function_exists( 'hello_elementor_body_open' ) ) { function hello_elementor_body_open() { wp_body_open(); } } require HELLO_THEME_PATH . '/theme.php'; HelloTheme\Theme::instance(); /*! elementor-pro - v3.29.0 - 04-06-2025 */ .elementor-widget-n-carousel{--e-n-carousel-slides-to-show:3;--e-n-carousel-swiper-slides-gap:10px;--e-n-carousel-swiper-slides-to-display:3;--e-n-carousel-swiper-pagination-size:0;--e-n-carousel-swiper-pagination-spacing:10px;--e-n-carousel-swiper-offset-size:0;height:-moz-fit-content;height:fit-content;--e-n-carousel-arrow-prev-top-align:50%;--e-n-carousel-arrow-prev-top-position:0px;--e-n-carousel-arrow-prev-caption-spacing:15px;--e-n-carousel-arrow-next-top-align:50%;--e-n-carousel-arrow-next-top-position:0px;--e-n-carousel-arrow-next-caption-spacing:15px;--e-n-carousel-arrow-prev-left-align:0px;--e-n-carousel-arrow-prev-left-position:0px;--e-n-carousel-arrow-next-right-align:0px;--e-n-carousel-arrow-next-right-position:0px;--e-n-carousel-arrow-next-translate-x:0px;--e-n-carousel-arrow-next-translate-y:0px;--e-n-carousel-arrow-prev-translate-x:0px;--e-n-carousel-arrow-prev-translate-y:0px;--e-n-carousel-swiper-padding-bottom:calc(var(--e-n-carousel-swiper-pagination-size) + var(--e-n-carousel-swiper-pagination-spacing));--e-n-carousel-dots-vertical-position:100%;--e-n-carousel-dots-vertical-offset:0px;--e-n-carousel-dots-horizontal-position:50%;--e-n-carousel-dots-horizontal-offset:0px;--e-n-carousel-dots-horizontal-transform:-50%;--e-n-carousel-dots-vertical-transform:-100%;--e-n-carousel-fraction-vertical-position:100%;--e-n-carousel-fraction-vertical-offset:0px;--e-n-carousel-fraction-horizontal-position:50%;--e-n-carousel-fraction-horizontal-offset:0px;--e-n-carousel-fraction-horizontal-transform:-50%;--e-n-carousel-fraction-vertical-transform:-100%;--e-n-carousel-horizontal-transform-modifier:1;--e-n-carousel-horizontal-transform-modifier:-1}.elementor-widget-n-carousel .e-n-carousel{display:flex;min-width:0}.elementor-widget-n-carousel .e-n-carousel>.swiper-wrapper>.swiper-slide-active.elementor-edit-area-active{overflow:initial}.elementor-widget-n-carousel .e-n-carousel.offset-left{padding-inline-start:var(--e-n-carousel-swiper-offset-size,0)}.elementor-widget-n-carousel .e-n-carousel.offset-both,.elementor-widget-n-carousel .e-n-carousel.offset-right{padding-inline-end:var(--e-n-carousel-swiper-offset-size,0)}.elementor-widget-n-carousel .e-n-carousel.offset-both{padding-inline-start:var(--e-n-carousel-swiper-offset-size,0)}.elementor-widget-n-carousel .e-n-carousel>.swiper-wrapper .swiper-slide a.e-con{display:var(--display)}.elementor-widget-n-carousel .e-n-carousel>.swiper-wrapper>.swiper-slide{flex-shrink:0;height:var(--e-n-carousel-slide-height,initial)}.elementor-widget-n-carousel .e-n-carousel>.swiper-wrapper>.swiper-slide>.e-con{height:var(--e-n-carousel-slide-container-height,initial);max-width:calc(100% - var(--margin-inline-start, var(--margin-left)) - var(--margin-inline-end, var(--margin-right)))}.elementor-widget-n-carousel .elementor-swiper-button.elementor-swiper-button-next,.elementor-widget-n-carousel .elementor-swiper-button.elementor-swiper-button-prev{border-style:var(--e-n-carousel-arrow-normal-border-type);color:var(--e-n-carousel-arrow-normal-color,hsla(0,0%,93%,.9));font-size:var(--e-n-carousel-arrow-size,25px);transition-duration:.25s;z-index:2}.elementor-widget-n-carousel .elementor-swiper-button.elementor-swiper-button-next svg,.elementor-widget-n-carousel .elementor-swiper-button.elementor-swiper-button-prev svg{fill:var(--e-n-carousel-arrow-normal-color,hsla(0,0%,93%,.9))}.elementor-widget-n-carousel .elementor-swiper-button.elementor-swiper-button-next:hover,.elementor-widget-n-carousel .elementor-swiper-button.elementor-swiper-button-prev:hover{border-style:var(--e-n-carousel-arrow-hover-border-type);color:var(--e-n-carousel-arrow-hover-color,hsla(0,0%,93%,.9))}.elementor-widget-n-carousel .elementor-swiper-button.elementor-swiper-button-next:hover svg,.elementor-widget-n-carousel .elementor-swiper-button.elementor-swiper-button-prev:hover svg{fill:var(--e-n-carousel-arrow-hover-color,hsla(0,0%,93%,.9))}.elementor-widget-n-carousel.elementor-element :is(.swiper,.swiper-container)~.elementor-swiper-button-next{right:calc(var(--e-n-carousel-arrow-next-right-align) + var(--e-n-carousel-arrow-next-right-position));top:calc(var(--e-n-carousel-arrow-next-top-align) + var(--e-n-carousel-arrow-next-top-position) - var(--e-n-carousel-arrow-next-caption-spacing));transform:translate(var(--e-n-carousel-arrow-next-translate-x),var(--e-n-carousel-arrow-next-translate-y))}.elementor-widget-n-carousel.elementor-element :is(.swiper,.swiper-container)~.elementor-swiper-button-prev{left:calc(var(--e-n-carousel-arrow-prev-left-align) + var(--e-n-carousel-arrow-prev-left-position));top:calc(var(--e-n-carousel-arrow-prev-top-align) + var(--e-n-carousel-arrow-prev-top-position) - var(--e-n-carousel-arrow-prev-caption-spacing));transform:translate(var(--e-n-carousel-arrow-prev-translate-x),var(--e-n-carousel-arrow-prev-translate-y))}.elementor-widget-n-carousel.elementor-pagination-type-bullets{--e-n-carousel-swiper-pagination-size:6px}.elementor-widget-n-carousel.elementor-pagination-type-fraction{--e-n-carousel-swiper-pagination-size:16px}.elementor-widget-n-carousel.elementor-pagination-type-progressbar{--e-n-carousel-swiper-pagination-size:4px}.elementor-widget-n-carousel .swiper-pagination-progressbar{height:var(--e-n-carousel-swiper-pagination-size)}.elementor-widget-n-carousel .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--e-n-carousel-progressbar-normal-color,#000)}.elementor-widget-n-carousel .swiper-pagination-progressbar .swiper-pagination-progressbar-fill:hover{background:var(--e-n-carousel-progressbar-hover-color,#000)}.elementor-widget-n-carousel .swiper-pagination-fraction{color:var(--e-n-carousel-fraction-color,#000)}.elementor-widget-n-carousel .swiper-pagination-bullet{background:var(--e-n-carousel-dots-normal-color,#000);height:var(--e-n-carousel-swiper-pagination-size);width:var(--e-n-carousel-swiper-pagination-size)}.elementor-widget-n-carousel .swiper-pagination-bullet:hover{background:var(--e-n-carousel-dots-hover-color,#000);opacity:1}.elementor-widget-n-carousel .swiper-horizontal>.swiper-pagination-bullets,.elementor-widget-n-carousel .swiper-pagination,.elementor-widget-n-carousel .swiper-pagination-bullets.swiper-pagination-horizontal,.elementor-widget-n-carousel .swiper-pagination-custom,.elementor-widget-n-carousel .swiper-pagination-fraction{font-size:var(--e-n-carousel-swiper-pagination-size);line-height:var(--e-n-carousel-swiper-pagination-size)}.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper,.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container,.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper,.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container{padding-bottom:var(--e-n-carousel-swiper-padding-bottom)}.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper .elementor-background-slideshow,.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container))>.swiper-container .elementor-background-slideshow,.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper .elementor-background-slideshow,.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container>.swiper-container .elementor-background-slideshow{padding-bottom:0}.elementor-widget-n-carousel.elementor-pagination-position-outside:not(:has(>.elementor-widget-container)) .swiper-pagination-bullet,.elementor-widget-n-carousel.elementor-pagination-position-outside>.elementor-widget-container .swiper-pagination-bullet{vertical-align:top}.elementor-widget-n-carousel .swiper-pagination-bullets{height:-moz-max-content;height:max-content;right:calc(var(--e-n-carousel-dots-horizontal-position) + var(--e-n-carousel-dots-horizontal-offset));top:calc(var(--e-n-carousel-dots-vertical-position) + var(--e-n-carousel-dots-vertical-offset));transform:translate(calc(var(--e-n-carousel-dots-horizontal-transform) * var(--e-n-carousel-horizontal-transform-modifier)),var(--e-n-carousel-dots-vertical-transform));width:-moz-max-content;width:max-content;z-index:3}.elementor-widget-n-carousel .swiper-pagination-fraction{height:-moz-max-content;height:max-content;right:calc(var(--e-n-carousel-fraction-horizontal-position) + var(--e-n-carousel-fraction-horizontal-offset));top:calc(var(--e-n-carousel-fraction-vertical-position) + var(--e-n-carousel-fraction-vertical-offset));transform:translate(calc(var(--e-n-carousel-fraction-horizontal-transform) * var(--e-n-carousel-horizontal-transform-modifier)),var(--e-n-carousel-fraction-vertical-transform));width:-moz-max-content;width:max-content;z-index:3}.swiper-container:not(.swiper-container-initialized)>.swiper-wrapper,.swiper:not(.swiper-initialized)>.swiper-wrapper{gap:var(--e-n-carousel-swiper-slides-gap);overflow:hidden}.swiper-container:not(.swiper-container-initialized)>.swiper-wrapper>.swiper--slide,.swiper:not(.swiper-initialized)>.swiper-wrapper>.swiper--slide{--e-n-carousel-number-of-gaps:max(calc(var(--e-n-carousel-swiper-slides-to-display) - 1),0);--e-n-carousel-gaps-width-total:calc(var(--e-n-carousel-number-of-gaps) * var(--e-n-carousel-swiper-slides-gap));max-width:calc((100% - var(--e-n-carousel-gaps-width-total)) / var(--e-n-carousel-swiper-slides-to-display, 1))}[data-core-v316-plus=true] .elementor-widget-n-carousel .e-n-carousel .swiper-slide>.e-con{--padding-top:initial;--padding-right:initial;--padding-bottom:initial;--padding-left:initial}